Ruby on rails 轨道路由:具有约束的控制器名称空间(子域)

Ruby on rails 轨道路由:具有约束的控制器名称空间(子域),ruby-on-rails,routes,ruby-on-rails-3,Ruby On Rails,Routes,Ruby On Rails 3,其目的是创建一个子域来保存所有管理功能(CRUD),子域的名称为“admin”。负责的控制器集也在名称空间“admin”下组织,即控制器位于app/controllers/admin目录下 理想情况下,应采用以下路线: admin.mydomain.com/products/ admin.mydomain.com/products/new ... 而不是 admin.mydomain.com/admin/products/ admin.mydomain.com/admin/produ

其目的是创建一个子域来保存所有管理功能(CRUD),子域的名称为“admin”。负责的控制器集也在名称空间“admin”下组织,即控制器位于app/controllers/admin目录下

理想情况下,应采用以下路线:

admin.mydomain.com/products/     
admin.mydomain.com/products/new ...
不是

admin.mydomain.com/admin/products/
admin.mydomain.com/admin/products/new ...
我想保留带有“admin”前缀的助手,例如:

new_admin_product
edit_admin_product

我当前的路由代码有效,如下所示:

constraints :subdomain => "admin" do
  scope :module => "admin", :as => "admin" do
    resources :players
  end
end

这是正确的方法吗?

是的,这将以我所知道的最简洁的方式准确地为您提供所需的内容。

正如我所看到的,如果您在没有名称空间的情况下再次使用资源
:players
,这将阻止所有其他路由。我正在寻找解决方法。这是我的错误,我忘记了
:as=>“admin”
,它实际上不允许覆盖