1

好的,伙计们,我有一个这样的嵌套路线:

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"}

任何帮助将不胜感激!

4

2 回答 2

5

请尝试app_form_path(@app, form)(您需要附加_path到路由名称)。

于 2011-05-19T20:04:41.617 回答
0

不仅是嵌套路由,对于您使用的每条路由,您都需要在 _path 或 _url 中附加路由名称。
所以在这里 juz 尝试 app_form_path(@app,form) 或 app_form_url(@app,form)

于 2011-05-19T20:14:06.790 回答