Отдельные маршруты, если субдомен присутствует в рельсах - PullRequest
4 голосов
/ 17 сентября 2011

Есть ли способ разделить маршруты в рельсах 3.1 при наличии поддоменов?Я хочу использовать одну коллекцию маршрутов, когда используются субдомены, и одну, если нет.

например

if request.subdomain.present?
  root ....
  resources ...
else
  root ....
  resources ...
end

Возможно ли что-то подобное?

1 Ответ

3 голосов
/ 17 сентября 2011
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
...