странно, я знаю, но использование user_root_path
в производстве не работает. Когда я нажимаю на ссылку myapp.com/user
, я получаю страницу 404.
В файле журнала не отображается плевок, но неудачная попытка:
Started GET "/user" for 123.125.146.23 at 2011-01-19 19:40:45 +0000
ActionController::RoutingError (uninitialized constant User::UsersController):
Теперь единственный способ увидеть что-то об этой унифицированной константе - это включить rails c
и ввести константу в консоль. Вот что происходит:
ruby-1.9.2-p136 :005 > User::UsersController
(irb):5: warning: toplevel constant UsersController referenced by User::UsersController
=> UsersController
Теперь некоторые раскопки обнаружили, что это предупреждение верхнего уровня может быть им мешало. Но на бревне написано Бубкисс.
Итак, я изменил файл маршрута с:
devise_for :users
namespace :user do
root :to => "users#index"
end
resources :subdomains
match '/user' => 'users#index'
до:
devise_for :users
namespace :user do
root :to => "subdomains#index"
end
resources :subdomains
match '/user' => 'users#index', :controller => :users
Мысль была о том, что, возможно, производственной среде не понравился индекс # пользователя ... поэтому я изменил его на поддомен # индекс. Я могу получить / поддоменов нет проблем. Таким образом, фактическая страница покажет, это маршрут, который вымышлен ... какие-нибудь мысли?
установка: рельсы 3.0.3, разработка 1.1.5 (и была обновлена 1.1.3, та же проблема)