Рельсы 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

конец

Другие вопросы по тегам