ruby on rails - ¿Cómo agrego el módulo de ''tiempo de espera'' de Devise a una instalación de Devise existente?-Rieles 3.1
ruby-on-rails ruby-on-rails-3 (4)
Estas son las instrucciones para agregar un módulo a una instalación de Devise existente: https://github.com/plataformatec/devise/wiki/How-To:-change-an-already-existing-table-to-add-devise-required-columns
Pero parece que no puedo encontrar las columnas necesarias para timeoutable
.
Busqué los campos que el tiempo de timeoutable
requiere en la biblioteca Devise: https://github.com/plataformatec/devise/blob/master/lib/devise/schema.rb , pero no hay tal método en ese archivo de esquema.
El modelo solo tiene un método personalizado sin referencia a las columnas: http://rdoc.info/github/plataformatec/devise/master/Devise/Models/Timeoutable
¿Cómo agrego esa funcionalidad?
Gracias.
Solo agrégalo a tu modelo:
devise :timeoutable, timeout_in: XX.minutes
Reemplace XX con la cantidad de minutos que desee.
Solo necesita agregar tiempo de timeoutable
a su modelo de usuario:
devise :timeoutable
Y establezca el tiempo de intervalo en config/initializers/devise.rb
:
# ==> Configuration for :timeoutable
# The time you want to timeout the user session without activity. After this
# time the user will be asked for credentials again. Default is 30 minutes.
config.timeout_in = 30.minutes
timeoutable
no funciona si tienes remember_me = true
https://github.com/plataformatec/devise/blob/master/lib/devise/hooks/timeoutable.rb#L26
timeoutable
refiere al tiempo de espera de la sesión de inicio de sesión. No se necesitan columnas adicionales, solo agréguelas a su modelo.
El gancho de tiempo de timeoutable
contiene toda la magia (fuente: https://github.com/plataformatec/devise/blob/master/lib/devise/hooks/timeoutable.rb )