Sono nuovo di Devise e funziona correttamente utilizzando un indirizzo di posta elettronica come chiave di autenticazione. Tuttavia, ho un caso d'uso che richiede un nome utente e non riesco a farlo funzionare.Configurare l'autenticazione con nome utente anziché email
Ho aggiunto una colonna di stringhe, "nomeutente" alla tabella utenti, modificato i campi da: email a: nome utente nel modulo di accesso e ho modificato la chiave di autenticazione in devise.rb in: nome utente ancora quando vado ad accedere ricevo questo messaggio: "Inserisci un indirizzo email".
Cosa sto sbagliando?
**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 ]
hai riavviato l'app per rotaie? – rb512
Sì, il server rails riavviato ha estratto anche ciò che hai menzionato. Nessuna gioia. – nulltek