【发布时间】:2012-08-16 20:47:09
【问题描述】:
我在一个应用中有几个命名空间路由。这是一个示例
namespace "battles" do
resources :teams do
resources :comments, :module => "comments", :controller=>'comments'
end
end
我的问题是我所有带有 cmets 的资源都路由到 cmets/cmets 控制器,但是因为 :teams 在战斗命名空间中,所以应用程序尝试路由到战斗/cmets/cmets
有没有办法指定嵌套的评论资源应该路由到 cmets/cmets 控制器,而不是 Battle/cmets/cmets 控制器。
【问题讨论】:
-
如果您不希望 cmets 在命名空间中,那么为什么不直接将其移出呢?您的 cmets 路线实际上是否嵌套在团队内部? (从你的描述看不像)。
-
评论都与可评论相关联(在本例中为团队)。我需要知道我在评论一个团队而不是其他东西(所以我所有的评论都有嵌套的评论路线)。我的 cmets 控制器有一个 find_commentable 方法,它查看 URL 的前一部分以确定要加载的模型类型。
标签: ruby-on-rails ruby-on-rails-3 rails-routing