2013-06-07 2 views
0

Я пытаюсь установить два различных маршрут в рельсах, каждый из которых связан с другой подобластьюКак настроить маршрут с определенным поддоменом в Rails 3?

Это то, что я хочу сделать сделать

match "/" => "first_app#index", 
       as => :first_app_root, 
       :subdomain => 'application' 

match "/" => "second_app#index", 
       :as => :second_app_root, 
       :subdomain => 'another_application' 

Результат я хочу получить, конечно, application.my_website указать к действию индекса FirstAppController и another_application.my_website.dev, чтобы указать на действие индекса SecondAppController.

Также first_app_root_url и second_app_root_url вспомогательные функции должны создавать URLs в комплекте с соответствующими поддоменов

это возможно?

ответ

1

Если вы хотите сделать это с совпадением, вы сможете сделать это со следующим утверждением.

match "/" => "first_app#index", :constraints => {:subdomain => "application"} 
match "/" => "second_app#index", :constraints => {:subdomain => "another_application"} 

но уборщик способ, вероятно, будет

constraints :subdomain => "application" do 
    # add your routes normally 
end 

constraints :subdomain => "another_application" do 
    # add your routes normally 
end 

Документация: http://guides.rubyonrails.org/routing.html#segment-constraints

+0

событие, хотя это сделает маршруты innacessible, если нет надлежащего домена не установлен, вспомогательные функции, сгенерированные посредством ': поскольку '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ''' Я обновил свой вопрос, чтобы отразить это. – Loupax

+0

Можете ли вы попробовать это? first_app_root_url (: subdomain => request.subdomain) и second_app_root_url (: subdomain => request.subdomain)? – Arkan

+0

Это не будет работать, если ссылка отображается в режиме просмотра другого контроллера. Если я пишу свой поддомен вручную, это работает, так что это довольно близко :) – Loupax

Смежные вопросы