Rails 3:嵌套资源中的不同名称空间?

问题描述:

是否有一种在嵌套资源中使用(不同)名称空间的方法?例如, 我有:

Is there a way to use a (different) namespaces inside nested resources? For example, I have:

resources :users do
 resources :tags
end

并且我想将标签controllers放置在controllers/common内,而将users controller放置在controllers/user内,等效于模板.

and I'd like to place the tags controller inside controllers/common, while placing users controller inside controllers/user, with the equivalent for templates.

如果我尝试这样做:

namespace :user do
 resources :users do
  namespace :common do
   resources :tags
  end 
 end
end

我将获得多余的路由名称:

I'll get redundant route names:

user_common_tags ,等等.但是我想要类似 common_tags

user_common_tags, etc. But I want something like common_tags

这样,您将拥有common_tags和users_tags,它们都链接到同一控制器.

This way you will have common_tags, and users_tags, both linking to the same controller.

resources :users do
  resources :tags
end

namespace :common do
  resources :tags
end