我的表单设置如下:
<h2>Add collaborators to the wiki </h2>
<table>
<tr>
<th>Name</th>
<th>Email</th>
<th>Give Access</th>
</tr>
<tr>
<%= form_for (@collaboration) do |f| %>
<% @users.each do |user| %>
<td><%= user.name %></td>
<td><%= user.email %></td>
<td> <%= f.collection_select :user_id, User.all, :id, :name, prompt: true %> </td>
</tr>
<%= f.submit %>
<% end %>
</table>
<%= f.submit %>
<% end %>
我的路线设置如下:
resources :wikis do
resources :collaborations
end
在我的控制器中,我定义了我的变量:
def new
@wiki = Wiki.find(params[:wiki_id])
@collaboration = @wiki.collaborations.new
end
但是当我访问页面时点击我创建的链接
<%= link_to 'Add Collaborator', new_wiki_collaboration_path(@wiki) %>
我仍然收到此错误:
undefined method `collaborations_path' for #<#<Class:0x007f8b6a5a8a00>:0x007f8b67820c90>
对这里出了什么问题的想法?
答案 0 :(得分:1)
您的表单只是转到您未定义的collaboration_path
。
<%= form_for (@collaboration) do |f| %>
<% end %>
您需要包含维基
<%= form_for ([@wiki, @collaboration]) do |f| %>
<% end %>