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も渡そうとしました)。レーキルートを呼び出しています...ルートも表示されます:

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 に答える