2012-02-06 10 views
15

Me gustaría NO requerir un correo electrónico para iniciar sesión utilizando el dispositivo. Quité correo electrónico de config/inicializadores/devise.rb:idear: no requiere correo electrónico

config.authentication_keys = [ :login ] 

y ha añadido esto a mi modelo de usuario:

def email_required? 
    false 
end 

Sin embargo, estoy consiguiendo este error cuando intento de salvar el usuario:

SQLite3::SQLException: users.email may not be NULL 

¿Tengo que cambiar algo en la migración?

Respuesta

9

adicional a la eliminación de "necesaria" de: la columna de correo electrónico que tenga que quitar " : validable "desde el modelo de usuario.

26

Algunas referencias dicen que no debe eliminar :validatable, ya que eliminaría las validaciones de contraseña.

en mi caso, he eliminado la columna email de mis usuarios en el base de datos, e idear comenzaron a chocar. Incluí:

def email_required? 
    false 
end 

def email_changed? 
    false 
end 

en el User.rb, y ha funcionado correctamente.

+4

http://rubydoc.info/github/plataformatec/devise/master/Devise/Models/Validatable –

+0

Sí, esto es muy importante –

Cuestiones relacionadas