Routing 如果rails中存在子域,则单独路由

Routing 如果rails中存在子域,则单独路由,routing,ruby-on-rails-3.1,Routing,Ruby On Rails 3.1,在Rails3.1中,当存在子域时,有没有办法分离路由?我想在使用子域时使用一个路由集合,如果不使用,则使用一个 e、 g 这样的事情可能吗 class SubdomainRoute def self.matches?(request) request.subdomain.present? && request.subdomain != "www" end end 如果没有子域,我想使用不同的集合。那么我应该将所有路线包装在2个约束中吗? class S

在Rails3.1中,当存在子域时,有没有办法分离路由?我想在使用子域时使用一个路由集合,如果不使用,则使用一个

e、 g

这样的事情可能吗

class SubdomainRoute

  def self.matches?(request)
    request.subdomain.present? && request.subdomain != "www"
  end

end



如果没有子域,我想使用不同的集合。那么我应该将所有路线包装在2个约束中吗?
class SubdomainRoute

  def self.matches?(request)
    request.subdomain.present? && request.subdomain != "www"
  end

end
class NoSubdomainRoute

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

end
  constraints(NoSubdomainRoute) do
    resources :profile # matches if there is not a subdomain
  end

  constraints(SubdomainRoute) do
    resources :profile # matches if there is a subdomain
  end