ruby on rails -嵌套路由link_to助手在一个地方工作,而不是在另一个地方



我有一个嵌套路由的问题,我不能弄清楚。我有一个应用,它有嵌套的路由,像这样:

resources :events do
  resources :sessions
end

我试图在我的代码中使用以下link_to:

<%= link_to "New Session", new_event_session_path %>

当我运行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)

相关内容

  • 没有找到相关文章

最新更新