tutorial rails hacer gema como ruby-on-rails ruby devise ruby-on-rails-4

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


  1. Obtenga la ruta raíz del bloque devise_for y formatéela adecuadamente (como se muestra en el archivo de rutas).
  2. 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