Ruby on rails 4 将参数传递给新控制器
我已经创建了一个简单的登录页来收集订阅模式中的电子邮件地址 提交时,将创建订阅,并将用户重定向到发送到订阅/感谢的感谢页面Ruby on rails 4 将参数传递给新控制器,ruby-on-rails-4,params,Ruby On Rails 4,Params,我已经创建了一个简单的登录页来收集订阅模式中的电子邮件地址 提交时,将创建订阅,并将用户重定向到发送到订阅/感谢的感谢页面 我想将新创建的id传递到感谢页面,如subscriptions/:id/thanking,这样我就可以访问新创建的感谢页面订阅 未测试代码 在路由文件中: resources :subscriptions do member do get :thanks end end 然后在控制器中创建一个方法,以适应感谢路线 def thanks # thanks
我想将新创建的id传递到感谢页面,如subscriptions/:id/thanking,这样我就可以访问新创建的感谢页面订阅 未测试代码 在路由文件中:
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'
仅此而已
附言:我不喜欢这种方法。与其四处乱扔变量,不如将其解耦一点。太多的重复
路由说明
我从这里学到了所有的路线:奇妙的来源
干杯,祝你好运,朋友。谢谢H先生
以下是我所做的,似乎已经足够好了。我真的不太了解路由,因此任何评论都非常感谢:
路线:
resources :subscriptions
获取'subscriptions/:id/thanking'=>'subscriptions#thanking',如:'thanking'
订阅控制器:
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
Show your routes.rb.您的
谢谢
方法位于订阅控制器中,这就是我使用成员
作为路由块的原因。