Ich bin neu bei Devise und funktioniert einwandfrei, indem ich eine E-Mail-Adresse als Authentifizierungsschlüssel verwende. Allerdings habe ich einen Anwendungsfall, der stattdessen einen Benutzernamen erfordert, und ich kann nicht scheinen, dass es funktioniert.Authentifizieren mit Benutzername anstelle von E-Mail
Ich habe eine Stringspalte, "username" zur Benutzertabelle hinzugefügt, die Felder von: email zu: username im Anmeldeformular geändert und den Authentifizierungsschlüssel in devise.rb zu: username noch geändert Wenn ich mich anmelde, wird mir folgende Aufforderung angezeigt: "Bitte geben Sie eine E-Mail-Adresse ein".
Was mache ich falsch?
**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 ]
hast du deine Rails App neu gestartet? – rb512
Ja, neu gestartet Rails Server zog auch, was Sie erwähnt. Keine Freude. – nulltek