Rails 3 w/ Devise: Как установить две отдельные домашние страницы в зависимости от того, аутентифицирован пользователь или нет?

Я использую Rails 3 и Devise для создания приложения, в котором пользователи приходят на сайт и им показывается домашняя страница, содержащая логин и форму регистрации. Эта страница имеет свой собственный контроллер ("homepage"), поэтому маршрут к ней

root :to => "homepage#index"

Я хочу отображать другую домашнюю страницу, если пользователи уже вошли в систему. Для этого нужно, чтобы корень указывал на

root :to => "dashboard#index"

Есть ли способ создать условный маршрут в routes.rb, который позволит мне проверить, аутентифицирован ли пользователь, прежде чем направить его на одну из этих домашних страниц?

Я пробовал использовать следующий код, но если я не вошел в систему, devise просит меня войти, поэтому очевидно, что работает только первый маршрут.

authenticate :user do
  root :to => "dashboard#index"
end
  root :to => "homepage#index"

Кроме того, я хочу, чтобы url указывал на www.example.com в обоих случаях, чтобы www.example.com/dashboard/index и www.example.com/homepage/index никогда не появлялись в браузере.

Спасибо миллион!!!

8
задан Andrei Polmolea 17 January 2012 в 00:49
поделиться