我创建了一个简单的登录页面来收集订阅模型中的电子邮件地址。将参数传递给新控制器
提交时,创建订阅并将用户重定向到路由到订阅的感谢页面/谢谢。
我想将新创建的ID传递给感谢页面,如订阅/:id/thanks,以便我可以访问新创建的感谢页面的订阅。
我创建了一个简单的登录页面来收集订阅模型中的电子邮件地址。将参数传递给新控制器
提交时,创建订阅并将用户重定向到路由到订阅的感谢页面/谢谢。
我想将新创建的ID传递给感谢页面,如订阅/: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
得到 '订阅/:ID /感谢'=> '订阅#感谢',因为: '感谢'
订阅控制器:
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
您的'感谢'方法在Subscription控制器中,这就是为什么我使用'member'作为路由块的原因。 –
显示您的routes.rb。 – potashin