关于路由嵌套时会发生什么的基本问题。我有一个表格抱怨错过的路径。我无法弄清楚如何在路线中正确命名路径,或者正确地更改它所寻找的路径。
这里有路线:
Rails.application.routes.draw do
resources :users do
resources :events do
resources :event_sessions do
resources :locations
end
end
end
end
以下是表格:
<%= form_for @event do |form| %>
...
<% end %>
网址http://localhost:3000/users/2/events/new
会产生异常:
undefined method `event_path`
这里发生了什么?我该如何解决这个问题?
答案 0 :(得分:1)
您必须提供正确的form_for
参数,以便表单操作知道资源是如何嵌套的,例如:
<%= form_for [current_user, @event] do |form| %>
...
<% end %>