Помимо исключения домена из квартиры, вам необходимо исключить их из маршрутов.В моем проекте я использую этот код для управления этим:
Я использую инициализатор для создания массива исключенных поддоменов.
# config/initializers/apartment/subdomain_exlusions.rb
Apartment::Elevators::Subdomain.excluded_subdomains = ['www', 'admin']
Затем мы можем использовать этот массив в вспомогательном классев маршрутах.
# config/routes.rb
class ExcludedSubdomainConstraint
def self.matches?(request)
request.subdomain.present? && !Apartment::Elevators::Subdomain.excluded_subdomains.include?(request.subdomain)
end
end
Rails.application.routes.draw do
constraints ExcludedSubdomainConstraint do
# here routes that are accessible in subdomains
end
end
В качестве бонуса вы можете направить исключенные субдомены в другое ограничение.
class DashboardSubdomainConstraint
def self.matches?(request)
Apartment::Elevators::Subdomain.excluded_subdomains.include?(request.subdomain) || request.subdomain == ''
end
end
constraints DashboardSubdomainConstraint do
namespace :dashboard do
get '/settings'
end
end
предоставит вам такой маршрут, как www.domain.com/dashboard/settinigs с доступомдля государственного арендатора.
СОВЕТ.И вы можете использовать другой root
метод в отношении