我的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"}
有谁知道如何解决这个错误?
编辑:
在 for 的视图中Batches#show
,我使用了相同的batch_tag_path
功能,并且效果很好:
<%= link_to "...", batch_tag_path(@batch, tag) %>