2011-02-05 2 views
2

Я пытаюсь настроить субдомен в моем приложении Rails 2.3.10, используя SubdomainFu - пытается настроить m.domainname.com. Аспект, с которым я борюсь, - это пытаясь определить маршрут по умолчанию для субдомена, который отличается от маршрута по умолчанию для основного приложения.Определение маршрута по умолчанию для субдомена в Ruby on Rails

Если это мой маршрут имен для моей подобласти:

map.namespace :mobile, :path_prefix => '', :conditions => { :subdomain => 'm' } do |mobile| 
    map.connect '/', :controller => 'mobile/mobile' 
end 

, а затем немного дальше вниз в моем файле маршрутов, у меня есть маршрут по умолчанию:

map.default '/', :controller => 'pages', :action => 'home' 

маршрут по умолчанию для пространство имен переопределяет основной маршрут по умолчанию. Если я перемещаю основной маршрут по умолчанию над пространством имен, тогда он имеет приоритет.

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

Спасибо!

+0

Какую версию рельсов вы используете, это важно, поскольку маршрутизация сильно изменилась. –

+0

Хорошая точка - Rails 2.3.10 – shedd

ответ

0

Строка map.connect '/' в блоке пространства имен по-прежнему использует основной объект map, что означает, что маршруты соответствуют, как если бы пространство вокруг него исчезло (и поэтому первый маршрут, который соответствует - мобильный контроллер) используется.)

Изменение его на mobile.connect '/' ... (т. е. используемая переменная блока mobile, которую вы создали) должна исправить ошибку, которую вы видите.

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