2010-12-30 6 views
0

Ich verwende Devise in meiner Rails 3-Anwendung zur Authentifizierung.Schienen 3 mit Gerät zur Authentifizierung

Meine Anforderung ist es, Benutzername anstelle von E-Mail-Adresse zu verwenden.

So modifizierte ich die config/initializers/devise.rb Datei wie unten

config.authentication_keys = [: username]

die registraion Seite Modifizierte Benutzernamen zu übernehmen, E-Mail, Passwort bei der Registrierung. Auch geänderte Anmelde-, Anmeldeansichten, um den Benutzernamen einzubeziehen.


Mein Problem:

Wenn ich auf Forgot password, es zeigt mir Feld email einzugeben. Nachdem ich "E-Mail" eingegeben habe, klicke auf den Button "Sende mir das Passwort zurück".

Es wird ein Fehler ausgegeben Username can't be blank.

Wo mache ich Änderungen, um das zu beheben?

Antwort

4

Ich würde vermuten, dass authentication_keys gesetzt: Benutzername als Pflichtfeld.

Try Bearbeitung app/views/ersinnen/Passwörter/new.html.erb und Ersetzen:

<%= f.label :email %> 
<br /> 
<%= f.text_field :email %> 

mit:

<%= f.label :username %> 
<br /> 
<%= f.text_field :username %> 
+0

Rechts enthält ersinnen Standardansichten für seine Funktionen, aber Sie Wenn Sie das primäre Anmeldefeld ändern, müssen Sie alle anderen überschreiben, die Sie verwenden möchten. –