Рельсы 3.2 связать поддомен с контроллером?
Обновление: переписан вопрос немного. Попытка маршрутизировать мои субдомены, как показано ниже
- login.app.ltd
- user1.app.ltd
- user2.app.ltd
- signup.app.ltd
С помощью
- Рельсы 3.2
- разрабатывать
Напрасно перепробовал несколько уроков в блоге, кто-нибудь знает рабочий пример для этого? Действительно застрял на этом:(
это мои маршруты сейчас:
match '', to: 'frontend#index', constraints: lambda { |r| r.subdomain.present? && ( r.subdomain != 'www') }
#match '' => 'home#index', :constraints => { :subdomain => 'login' }
constraints :subdomain => /^(?!signup\b)(\w+)/ do
root :to => "frontend#index"
end
root :to => "frontend#index"
2 ответа
Решение
Мой проект RailsApps предлагает полный пример приложения, показывающего, как использовать субдомены:
Учебник по Rails для поддоменов с Devise
Вы смотрели на это?
конфиг /routes.rb
devise_for :users
resources :users, :only => :show
constraints(Subdomain) do
match '/' => 'profiles#show'
end
root :to => "home#index"
Библиотека /subdomain.rb
class Subdomain
def self.matches?(request)
case request.subdomain
when 'www', '', nil
false
else
true
end
end
end
Хорошо с некоторой помощью удалось заставить это работать
Нужно сделать:
constraints subdomain: 'login' do
devise_scope :user do
root to: 'sessions#new'
end
конец