我不完全了解嵌套资源表单的工作原理。
我有一个表单在我的管理命名空间“helm”
中创建新事件事件属于某项活动。
我的路线看起来像这样
namespace :helm do
resources :providers, :locations
resources :events, only: [:show, :edit, :update, :destroy]
resources :activities do
resources :events, only: [:new, :create]
end
end
我的活动#new动作看起来像这样
def new
@activity = Activity.find(params[:activity_id])
@event = @activity.events.build
...
我的form_for助手看起来像这样:
<%= form_for [:helm, @event] do |f| %>
我收到了错误
undefined method `helm_events_path'
大概是因为我没有设法告诉rails我想要将表单用于嵌套路由:
new_helm_activity_event_path
我哪里出错了?
答案 0 :(得分:1)
您必须在form_for call中指定活动。
<%= form_for [:helm, @activity, @event] do |f| %>
# etc
<% end %>