嵌套路由link_to帮助器在一个地方工作但不在另一个地方工作
我有一个嵌套的路由问题,我无法弄清楚。 我有一个嵌套路由的应用程序,如下所示:
resources :events do resources :sessions end
我想在我的代码中使用以下link_to:
当我运行rake路由时,它将显示存在GET方法的正确URL:
new_event_session GET /events/:event_id/sessions/new(.:format) {:action=>"new", :controller=>"sessions"}
当我尝试在一个地方使用link_to时,当我尝试在另一个地方使用它时,它不会,它会给我这个错误:
No route matches {:controller=>"sessions", :action=>"new"}
两个文件之间的唯一区别是应用程序中文件的位置(一个在视图/事件下,另一个在视图/会话下,并且调用的URL:
/ events / 1 –vs– / events / 1 / sessions
我仍然是一个带铁轨的菜鸟,所以这可能是一个愚蠢的问题,但我已经打了一个墙。 任何帮助表示赞赏。
您只需要将事件对象传递给路径助手:
new_event_session_path(@event)