ruby on rails - rails - ¿Cómo hacer que la página de registro sea la página raíz en Devise?
gema devise (2)
Estoy corriendo en Rails 4.0.0 con Devise 3.1.0. Mis rutas se configuran de esta manera:
devise_for :users do
root "devise/registrations#new"
end
resources :books
Lo que estoy tratando de hacer es hacer que la página de registro de Devise se convierta en la página de bienvenida para los usuarios si no han iniciado sesión pero si han iniciado sesión irán al índice de libros. Ahora mismo solo me da el Ruby on Rails estándar: Bienvenido a la página como si Devise no existiera. ¿Cómo haría esto?
Responder
https://github.com/plataformatec/devise/issues/2393
devise_for :users
devise_scope :user do
authenticated :user do
root :to => ''books#index'', as: :authenticated_root
end
unauthenticated :user do
root :to => ''devise/registrations#new'', as: :unauthenticated_root
end
end
- Obtenga la ruta raíz del bloque devise_for y formatéela adecuadamente (como se muestra en el archivo de rutas).
- Cree un before_filter en su registrations_controller (es posible que deba aprobar el dispositivo predeterminado que proporciona) que verifique si existe current_user y redirige a la ruta de los libros si es así.
devise_for :users
devise_scope :user do
authenticated :user do
root :to => ''books#index''
end
unauthenticated :user do
root :to => ''devise/registrations#new'', as: :unauthenticated_root
end
end