好的家伙所以我有一个这样的嵌套路线:
resources :apps do
resources :forms
end
在我的表单索引中,我有这个块:
<% @forms.each do |form| %>
<tr>
<td><%= form.app_id %></td>
<td><%= form.title %></td>
<td><%= link_to 'Show', app_form(@app,form) %></td>
<td><%= link_to 'Destroy', form, :confirm => 'Are you sure?', :method => :delete %></td>
</tr>
<% end %>
</table>
该页面在app_form行上抛出NoMethodError;但是我认为我正在传递应用程序和表单(我也尝试传递@ app.id)。调用rake路线......甚至显示路线:
app_form GET /apps/:app_id/forms/:id(.:format) {:controller=>"forms", :action=>"show"}
非常感谢任何帮助!
答案 0 :(得分:5)
请尝试使用app_form_path(@app, form)
(您需要将_path
附加到路线名称上。)
答案 1 :(得分:0)
不仅嵌套路线,对于您使用的每条路线,您需要在路径名后追加_path或_url。
所以在这里juz尝试app_form_path(@ app,form)或app_form_url(@ app,form)