Смонтировать двигатель на поддомене Rails 3.1 - PullRequest
8 голосов
/ 15 февраля 2012

Я провожу некоторые эксперименты с Mountable Engines. Во-первых, мне нужно ваше мнение для сценария. Является ли хорошей идеей, чтобы мы сделали «кусок больших модулей» в приложении как «монтируемые движки».

Я попробовал это, это прекрасно работает, в монтируемом движке мы можем получить доступ к моделям приложений по всему миру, а в приложении мы можем получить доступ к моделям двигателей с префиксом модуля. Так что это прекрасно работает для меня.

Теперь подошел к оригинальному вопросу:

Я хочу смонтировать механизм на поддомен, чтобы каждый запрос с конкретным поддоменом обслуживался этим конкретным механизмом. Я использовал этот код.

root :to=>'dashboard#index'
scope :subdomain => 'admin' do
    mount MyAdmin::Engine => '/'
end

В этом случае mydomain.com и admin.mydomain.com переходят на dashboard controller. Если я изменю настройки так

scope :subdomain => 'admin' do
    mount MyAdmin::Engine => '/'
end
root :to=>'dashboard#index'

В этом случае mydomain.com и admin.mydomain.com переходят на engine specific root controller.

Как мы можем реализовать этот сценарий и смонтировать движок на конкретном поддомене?

Ответы [ 2 ]

12 голосов
/ 16 февраля 2012

Я выполняю задачу, используя следующие записи маршрута:

scope :subdomain => 'www' do
   root :to=>'dashboard#index'
end
scope :subdomain => 'admin' do
    mount MyAdmin::Engine => '/'
end
5 голосов
/ 03 мая 2013

Работа с Rails 3.2.12 и ruby ​​1.9.3-194 Я пришел к другому решению, которое также работает локально, чтобы избежать www. проблема субдомена при разрешении присутствия Engine в определенном субдомене.

get "home/index"

constraints :subdomain => 'store' do
    mount Spree::Core::Engine, :at => '/'
end

root :to => 'home#index'

Я могу ошибаться, но пока это работает.

...