Wie fügt man das Feld "Benutzername" hinzu, um das Juwel zu entwickeln?

7

Hier ist was ich versucht habe,

  1. rails g migration add_username_to_hrs

  2. bundle exec rake db:migrate

  3. hat attr_accessible:username

  4. hinzugefügt
  5. hat den Server neu gestartet

Mein add_username_to_hr.rb

%Vor%

Fehler

  

undefinierte Methode 'Benutzername' für #

Frage : Wie kann ich ein Feld "Nutzername" in mein Geräte-Juwel einfügen?

    
bindi bhatt 31.01.2014, 10:41
quelle

6 Antworten

7

Ich habe das Gleiche getan. Bitte folge diesen Schritten:

  1. rails generate migration add_username_to_users username:string:uniq

  2. rake db:migrate

  3. fügen Sie attr_accessible :username

  4. hinzu
  5. in application_controller.rb:

    %Vor%
  6. in config / initializers , wenn Sie email durch usernname

    ersetzen möchten %Vor%
  7. aktualisieren Sie die Ansichten.

Hinweis Wenn attr_accessible :username Fehler gibt, versuchen Sie attr_accessor :username

    
SNEH PANDYA 31.01.2014, 17:13
quelle
7

Es gibt einen Leitfaden im Wiki erstellen , damit Nutzer sich mit dem Benutzernamen anmelden können, vielleicht kann es Ihnen dabei helfen?

    
Jakob W 31.01.2014 10:50
quelle
5

Wenn Sie Schienen 4 verwenden, dann schreiben Sie den Code in den Anwendungscontroller

%Vor%     
Divyang Hirpara 31.01.2014 10:50
quelle
4

Wenn Sie Schienen 4 dann folgen diese Schritte verwenden:

  1. rails g migration AddUserNameToAuthorize

  2. rake db:migrate

  3. setzen diesen Code in application_controller.rb username Parameter für sign_in , sign_up zu übernehmen und auch für account_update :

    %Vor%
KKB 31.01.2014 12:41
quelle
2

Devise fügt das Feld tatsächlich zu dem Modell hinzu, das Sie während der Geräteeinrichtung angegeben haben. Wenn Sie zu diesem Modell eine Migration hinzugefügt haben. Beispiel: Sie haben "devise" für das Benutzermodell verwendet, dann können Sie die Migration für das Hinzufügen des Benutzernamens zum Benutzermodell generieren und die db ausführen: migrieren und den attr_accessible: username zum Modell hinzufügen, wenn Sie rails & lt; 4

    
Sanjiv 31.01.2014 10:46
quelle
2

Sie müssen den Benutzernamen in das Modell einfügen, das Sie im unteren Befehl

angegeben haben %Vor%

Sobald Sie fertig sind, müssen Sie die obigen Schritte befolgen, müssen aber die Konfigurationsdatei ändern, um nach Benutzername für Login anstelle von E-Mail zu suchen. Dann starte den Rails Server neu und es sollte in Ordnung sein.

    
prash 31.01.2014 12:26
quelle