ファイルに次のネストされたリソースがありroutes.rb
ます。内部リソースはコントローラー名を指定します。
resources :batches, :except => [:new], :path => "sets" do
resources :tags, :controller => "batches_tags"
end
のビューでBatchesTags#new
、フォームを作成しようとしています:
<%= form_for [@batch, @tag], :url => batch_tag_path do |f| %>
...
<% end %>
このページを読み込もうとすると ( /sets/1/tags/new
)、次のメッセージとともに ActionController::RoutingError が返されます。
{:action="show", :controller="batches_tags"} に一致するルートはありません
しかし、 を実行すると、このルートが存在する$ rake routes
ことが明確に示されます。
batch_tag GET /sets/:batch_id/tags/:id(.:format) {:action=>"show", :controller=>"batches_tags"}
このエラーを修正する方法を知っている人はいますか?
編集:
のビューではBatches#show
、同じbatch_tag_path
関数を使用しており、完全に機能します。
<%= link_to "...", batch_tag_path(@batch, tag) %>