嵌套路径后缺少路径

时间:2015-08-03 03:55:26

标签: ruby-on-rails forms routes nested-routes

关于路由嵌套时会发生什么的基本问题。我有一个表格抱怨错过的路径。我无法弄清楚如何在路线中正确命名路径,或者正确地更改它所寻找的路径。

这里有路线:

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`

这里发生了什么?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您必须提供正确的form_for参数,以便表单操作知道资源是如何嵌套的,例如:

<%= form_for [current_user, @event] do |form| %>
...
<% end %>