Rails 3 com Devise: Como definir duas páginas iniciais separadas com base no fato de o usuário ser autenticado ou nã

Estou usando o Rails 3 e o Devise para criar um aplicativo no qual os usuários chegam ao site e são mostrados em uma página inicial que contém um login e um formulário de inscrição. Esta página possui seu próprio controlador ("página inicial"), portanto, sua rota é

root :to => "homepage#index"

Eu quero exibir uma página inicial diferente se os usuários já estiverem conectados. Isso seria responsável pelo ponto raiz de

root :to => "dashboard#index"

Existe uma maneira de ter uma rota condicional em routes.rb, que me permita verificar se o usuário está autenticado antes de encaminhá-lo para uma dessas páginas iniciai

Eu tentei usar o código a seguir, mas se não estiver logado, o dispositivo pedirá que eu faça o logon, tão claramente apenas a primeira rota funcionar

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

Também quero que o URL aponte para www.example.com nos dois casos, para que www.example.com/dashboard/index e www.example.com/homepage/index nunca apareçam no navegado

Muito obrigado !!!

questionAnswers(8)

yourAnswerToTheQuestion