Вы не меняете маршрут, вы просто добавляете :before_filter
в свой контроллер. Есть несколько способов сделать это, но простой пример - представить ваши корневые точки на homeController#main
. В верхней части контроллера у вас есть что-то вроде
before_filter :check_login, :only => {:main}
И тогда в вашем ApplicationController вы пишете метод, подобный
def check_login
if !session[:userid].nil
redirect_to :controller => :users, :action => :profile
end
end
Который проверит вашу переменную сеанса для пользователя и перенаправит на его профиль, если он существует, если нет, то он будет нормально отображать ваш основной метод.
Дополнительная информация и примеры здесь .