对于该子域中的请求,请不要匹配子域约束之外的路由

时间:2014-11-13 17:53:43

标签: ruby-on-rails rails-routing

来自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 / users仍会触发用户控制器操作。我知道规则将继续被解析,直到指定。有没有办法修改这种行为?这样,对于子域约束,路由器将只在该块内搜索。

1 个答案:

答案 0 :(得分:3)

为什么不将违规行放在另一个约束中呢?

  constraints(NoSubdomain) do
    resources :users
  end

约束看起来像这样:

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