2015-01-12 3 views
5

Мы разрабатываем приложение для управления конференцией, и большая часть ресурсов является вложенным ресурсом конференции. Теперь мы решили использовать субдомены для домашней страницы конференции и получили проблемы с рефакторингом ресурсов.Как получить идентификатор ресурса из поддомена в Rails 4?

Текущая схема URL, как:

/конференции /: идентификатор/выступления

/конференции /: идентификатор/управления

Мы хотим, чтобы переместить/конференции /: Идентификатор части для SUBDOMAIN и использования ресурсы, такие как:

conferenceid.sitename.com/speeches

conferenceid.sitename.com/manage

Вот тока маршруты файл: https://github.com/kodgemisi/confdeck/blob/development/config/routes.rb#L17

Какой самый лучший способ, чтобы сделать этот переход? Как мы можем предотвратить текущие помощники URL?

+0

Этот вопрос migh t поможет вам http://stackoverflow.com/questions/1300361/rails-routing-subdomain-to-a-resource – Mario

ответ

1

сначала позволяет настроить ваш класс поддоменов. следующий код должен быть достаточно

class Subdomain 
    def self.matches?(request) 
    request.subdomain.present? && request.subdomain != 'www' 
    end 
end 

, то вы должны быть в состоянии назвать его в маршруты со следующими

constraints(Subdomain) do 
    resource :conference, path: "/" do 
     member do 
     get 'apply' 
     post 'apply' => "conferences#save_apply" 
     end 
    end 

Тогда в вашем контроллере вы идете, как это:

Conference.find_by_slugged!(request.subdomain) 

(я видел, что вы используете дружественный идентификатор, поэтому я думаю, что ваш субдомен sluggged конференции.

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