我的应用程序围绕一个事件,特别是事件的ID。每当用户导航到站点的不同部分(控制器)时,我都需要能够携带事件的ID。
我猜测在用户打开多个浏览器窗口时,在URL中包含事件的ID是首选方法。
我不想手动将事件的ID附加到每个链接。我可以创建一个帮助方法来为我做这个吗?
由于
答案 0 :(得分:2)
您需要在路径文件中创建一个嵌套资源,这会在路径的开头添加类似“/ event /#eventid”的内容。然后,您可以使用params[:event_id]
例如:
的routes.rb
resources :events do
# Other controllers routes go here
end
controller_whatever.rb
def index
@whatever = Event.find(params[:event_id]).whatever.all
end
...
显然最好使用之前的过滤器,但你明白了。
答案 1 :(得分:0)
答案 2 :(得分:0)
我建议使用thomasfedb的解决方案。如果由于任何原因无法通过覆盖url_for方法来完成此操作,例如question