将参数传递给新控制器
Passing params to new controller
我创建了一个简单的登陆页面来收集订阅模型中的电子邮件地址。
提交后,订阅被创建,用户被重定向到感谢页面,该页面路由到 subscriptions/thanks。
我想把新创建的id传给感谢页面,比如subscriptions/:id/thanks,这样我就可以访问到感谢页面新创建的订阅了。
代码未测试
在路由文件中:
resources :subscriptions do
member do
get :thanks
end
end
然后在控制器中创建一个包含感谢路由的方法。
def thanks
# thanks code will be here
end
处理数据后在您的控制器中将用户重定向到
redirect_to thanks_subscription_path(@YourSavedObject), notice: 'Some message'
到此为止。
PS:我不喜欢这种方式。解耦比到处乱扔变量要好一些。重复太多了。
路由说明
我从这里学习了所有的路由:http://guides.rubyonrails.org/routing.html很棒的来源。
干杯,祝你好运。
谢谢H先生!
这是我所做的,似乎效果不错。我不太懂路由,所以任何意见表示赞赏:
在路线中:
resources :subscriptions
得到'subscriptions/:id/thanks' => 'subscriptions#thanks',如:'thanks'
订阅控制器:
def thanks
@invite = Invite.new
@subscription = Subscription.find(params[:id])
end
创建动作
if @subscription.save
format.html { redirect_to thanks_path(@subscription), notice: 'Subscription was successfully created.' }
format.json { render :show, status: :created, location: @subscription }
else
我创建了一个简单的登陆页面来收集订阅模型中的电子邮件地址。
提交后,订阅被创建,用户被重定向到感谢页面,该页面路由到 subscriptions/thanks。
我想把新创建的id传给感谢页面,比如subscriptions/:id/thanks,这样我就可以访问到感谢页面新创建的订阅了。
代码未测试
在路由文件中:
resources :subscriptions do
member do
get :thanks
end
end
然后在控制器中创建一个包含感谢路由的方法。
def thanks
# thanks code will be here
end
处理数据后在您的控制器中将用户重定向到
redirect_to thanks_subscription_path(@YourSavedObject), notice: 'Some message'
到此为止。
PS:我不喜欢这种方式。解耦比到处乱扔变量要好一些。重复太多了。
路由说明
我从这里学习了所有的路由:http://guides.rubyonrails.org/routing.html很棒的来源。
干杯,祝你好运。
谢谢H先生!
这是我所做的,似乎效果不错。我不太懂路由,所以任何意见表示赞赏:
在路线中:
resources :subscriptions
得到'subscriptions/:id/thanks' => 'subscriptions#thanks',如:'thanks'
订阅控制器:
def thanks
@invite = Invite.new
@subscription = Subscription.find(params[:id])
end
创建动作
if @subscription.save
format.html { redirect_to thanks_path(@subscription), notice: 'Subscription was successfully created.' }
format.json { render :show, status: :created, location: @subscription }
else