Rails中的子域和资源3

时间:2013-09-26 11:04:45

标签: ruby-on-rails ruby-on-rails-3 routing subdomain rails-routing

我有一个分为三个单元(子域)的网站:

example.com # Main Site
archive.example.com # Searchable Archive
admin.example.com # CMS

config/routes.rb的底部,我按如下方式映射子域和root:

  match "/" => "archive#index", constraints: {subdomain: "archive"}
  match "/" => "admin#index", constraints: {subdomain: "admin"}
  root :to => "pages#index

我有许多资源,目前声明如下:

  resources :users
  resources :themes
  resources :downloads

通过此设置,资源在所有子域中都可用,因此对于users资源,以下内容均有效:

archive.example.com/users
admin.example.com/users
example.com/users

如何设置路线,以便users仅在管理子域下可用? 访问archive.example.com/usersexample.com/users会导致路由错误。

1 个答案:

答案 0 :(得分:2)

这应该可以解决问题:

constraints :subdomain => "admin" do
  resources :users
end