2012-03-06 18 views
6

Estoy implementando la aplicación Devise on a Rails 3.2 y quiero que el sistema recuerde al usuario.Diseñar recordando es recordar nada

/app/models/user.rb:

class User < ActiveRecord::Base 
    devise :database_authenticatable, :recoverable, :rememberable, :trackable, :validatable 
    attr_accessible :name, :email, :password, :password_confirmation, :remember_me 
end 

/db/schema.rb:

create_table "users", :force => true do |t| 
    t.string "name" 
    t.string "email" 
    t.string "password" 
    t.datetime "created_at",        :null => false 
    t.datetime "updated_at",        :null => false 
    t.string "encrypted_password",  :default => "", :null => false 
    t.string "reset_password_token" 
    t.datetime "reset_password_sent_at" 
    t.datetime "remember_created_at" 
    t.integer "sign_in_count",   :default => 0 
    t.datetime "current_sign_in_at" 
    t.datetime "last_sign_in_at" 
    t.string "current_sign_in_ip" 
    t.string "last_sign_in_ip" 
end 

Me gustaría hacer esto de la manera/default más estándar, y dada la escasez de documentación, supongo que "simplemente funciona" para algunas personas y simplemente no funciona para mí. Por ejemplo, utilicé el generador Devise para construir la migración para el usuario, y no he anulado ningún controlador. Aparece una casilla de verificación, pero cuando la reviso, no se recuerda la información del usuario.

¿Qué me estoy perdiendo? ¿Falta algo en mi esquema que se suponía que el generador debía crear?

+0

Creo que a Devise le falta mucho documento sobre este tema. No sabemos si poner suficiente rememberable como estrategia en Usuario es suficiente o no. Y si es suficiente, ¿por qué no funciona cuando el navegador está cerrado aunque la variable de sesión todavía tenga información de usuario? –

Respuesta

0

tratan de jugar con

current_user.remember_me = true 
current_user.remember_me = false 

su schema.rb parece correcto.

+0

¿no es una migración? – alony

+0

oh .. sí, por supuesto .. –

0

No estoy seguro de si esto es lo que meant-

Según Module: Devise::Models::Rememberable del legado :rememberable se utiliza para guardar las credenciales de inicio de sesión del usuario que ha iniciado la sesión. Esto significa que va a recordar las credenciales si se cierra el navegador y no cerrar la sesión.

Sin embargo, esto no va a guardar las credenciales de inicio de sesión (correo electrónico, contraseña) si sale.

Cuestiones relacionadas