2014-11-13 75 views
1

從routes.rb中:不匹配子域約束外路線要求在子域

constraints subdomain: 'admin' do 
    scope module: 'admin', as: 'admin' do 
    resources :subscribers 
    root 'dashboard#index' 
    end 
end 

resources :users 
root 'dashboard#index' 

在當前片斷GET admin.domain.xzy /用戶還是用戶觸發控制器動作。我知道規則將繼續被解析,直到指定。有沒有辦法修改這種行爲?這樣,對於子域約束,路由器將只在該塊內進行搜索。

回答

2

爲什麼不把違規行放在另一個約束內?

constraints(NoSubdomain) do 
    resources :users 
    end 

的約束將是這個樣子:

class NoSubdomain 
    def self.matches?(request) 
    !request.subdomain.present? 
    end 
end