Rails 3 - 嵌套路由"NoMethodError"尽管列在rake路由中

Mse*_*enb 1 routes ruby-on-rails nested-routes ruby-on-rails-3

好吧,所以我有一个这样的嵌套路线:

resources :apps do
    resources :forms
end
Run Code Online (Sandbox Code Playgroud)

在我的表单索引中我有这个块:

<% @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>
Run Code Online (Sandbox Code Playgroud)

该页面在app_form行上抛出NoMethodError; 但是我认为我正在传递应用程序和表单(我也尝试传递@ app.id).调用rake路线......甚至显示路线:

app_form GET    /apps/:app_id/forms/:id(.:format)      {:controller=>"forms", :action=>"show"}
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激!

Dyl*_*kow 5

app_form_path(@app, form)改为尝试(您需要附加_path到路径名称).