Я тоже хотел это в своем приложении, вот что я придумал.
MyCoolioApp::Application.routes.draw do
root :to => 'users#dashboard', :constraints => lambda {|r| r.env["warden"].authenticate? }
root :to => 'welcome#index'
get "/" => 'users#dashboard', :as => "user_root"
# ..
end
В Rails 3 вы можете использовать Запросы на основе запроса для динамического сопоставления вашего root
маршрута.,Приведенное выше решение работает для гема аутентификации Devise, но может быть изменено для поддержки вашей собственной реализации.
С помощью вышеуказанных root_path
или /
будет перенаправлено действие WelcomeController#index
для запросов без аутентификации.Когда пользователь вошел в систему, тот же root_path
направит на UsersController#dashboard
.
Надеюсь, это поможет.