estaba siguiendo esta guía sobre cómo How To: Allow users to sign in using their username or email address e hizo todos los pasos que se detallan allí, pero cuando intento registrar a través del formulario registrations/new.html.erb
me sale este error:"El correo electrónico no puede estar en blanco" Idear usando nombre de usuario o correo electrónico
Email can't be blank
En mi modelo que tengo:
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
attr_accessible :username, :email, :password, :password_confirmation, :remember_me
attr_accessor :login
attr_accessible :login
y
def self.find_first_by_auth_conditions(warden_conditions)
conditions = warden_conditions.dup
if login = conditions.delete(:login)
where(conditions).where(["lower(username) = :value OR lower(email) = :value", { :value => login.downcase }]).first
else
where(conditions).first
end
end
cualquier consejo con este problema?
======= ACTUALIZACIÓN
he encontrado algo aquí ■[rails]How to use Devise and Rails , without EMail aquí es algo así como:
# Email is not required
def email_required?
false
end
Con ese añadido en mi modelo que pueda crear un registro con nombre de usuario y dejando el correo electrónico campo en blanco, pero cuando intento crear un segundo registro sin la base de datos de correo electrónico se eleva un error:
Mysql2::Error: Duplicate entry '' for key 'index_parents_on_email':...
¿Debo usar esto, quite el índice de mi tabla en la base de datos, y simplemente validar el username
en el modelo? porque realmente no necesito el campo de correo electrónico en ese modelo.
Mr_Nizzle, ¿puede usted aceptar una manera más sexy? – asiniy