Что является заменой для ActionController:: основа relative_url_root?

Я портирую 2.x приложение для направляющих к rails3; мы назовем это приложением нечто. Приложение нечто является одним разделом большего приложения для направляющих и жизней по main_rails_app.com/foo-app. Ранее мы просто настраиваем следующее в нашей производственной конфигурации приложения нечто, чтобы гарантировать, что наши маршруты приложения нечто работали правильно:

ActionController::Base.relative_url_root = "/foo-app"

Однако с rails3, я теперь добираюсь:

DEPRECATION WARNING: ActionController::Base.relative_url_root is ineffective. Please stop using it.

Я с тех пор изменил запись конфигурации в следующее:

config.action_controller.relative_url_root = "/foo-app"

Это главным образом работает, в котором все вызовы к внешним ресурсам (JavaScript/CSS/изображения) будут использовать/foo-app. Однако ни один из моих маршрутов не изменяется соответственно или помещает иначе, приложение нечто root_path дает мне '/', когда я ожидал бы '/foo-app'.

Два вопроса:

  1. Что является заменой для ActionController:: основа relative_url_root
  2. если это - конфигурация action_controller.relative_url_root, то, почему мои маршруты не отражают значение relative_url_root, которое я установил?
20
задан Mike Woodhouse 14 July 2010 в 11:39
поделиться

1 ответ

Вы должны уметь обрабатывать все это в файле routes.rb. Оберните все ваши текущие маршруты в область видимости; например.

scope "/context_root" do
   resources :controller
   resources :another_controller
   match 'welcome/', :to => "welcome#index"
   root :to => "welcome#index"
end

Затем вы можете проверить свою маршрутизацию с помощью rake routes , они должны отображать ваши маршруты соответственно, включая корневой каталог контекста (relative_url_root)

19
ответ дан 30 November 2019 в 00:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: