好了,伙计们,我有一个嵌套的路由,如下所示:
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"}
如有任何帮助,我们将不胜感激!
改为尝试app_form_path(@app, form)
(需要将_path
附加到路由名称(。
不仅嵌套路由,对于您使用的每个路由,您需要在_path或_url后面添加路由名称
因此,在这里尝试app_form_path(@app,form(或app_form_url(@app、form(