Soy nuevo en Devise y lo tengo funcionando bien utilizando una dirección de correo electrónico como clave de autenticación. Sin embargo, tengo un caso de uso que requiere un nombre de usuario en su lugar y parece que no puedo hacerlo funcionar.Diseñar la autenticación con nombre de usuario en lugar de correo electrónico
Agregué una columna de cadena, "nombre de usuario" a la tabla de usuarios, cambié los campos de: correo electrónico a: nombre de usuario en el formulario de inicio de sesión y cambié la clave de autenticación en devise.rb a: nombre de usuario aún cuando inicio sesión, me aparece este mensaje: "Por favor, introduzca una dirección de correo electrónico".
¿Qué estoy haciendo mal?
**new.html.erb**
<div><%= f.label :username %><br />
<%= f.email_field :username %></div>
**User.rb**
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable, :authentication_keys => [:username]
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation, :remember_me, :username
# attr_accessible :title, :body
end
**devise.rb**
config.authentication_keys = [ :username ]
¿reinició su aplicación de rieles? – rb512
Sí, el servidor de rieles reiniciados también sacó lo que mencionaste. Sin alegría. – nulltek