2017-07-27 4 views
0

Es gibt frühere Beiträge diskutieren, wie Sie einen Benutzernamen zu einem Geräte-Modell hinzufügen. Leider wird in diesen Beiträgen nicht erläutert, wie die Ansichten eingerichtet werden. Hauptsächlich interessiere ich mich für die Aktualisierung derWie kann ich mir vorstellen, einen Benutzernamen mit Rails 5

devise/registrations/edit.html.erb 

Datei. Darin habe ich die folgenden Zeilen

<div class="field"> 
    <%= f.label :username %><br /> 
    <%= f.text_field :username %> 
</div> 

hinzugefügt, damit meine Benutzer ihren Benutzernamen aktualisieren können. Beim Speichern des Formulars wird der Benutzername leider nicht aktualisiert. Warum passiert dies?

+0

Beim Erstellen eines Benutzers, der Benutzer ist richtig in der Datenbank registriert? –

Antwort

-1

Wenn Sie den Anweisungen von folgen, müssen Sie keine Ansichten hinzufügen, aber Sie können die, die mit Devise kommen, anpassen.

Ich empfehle auch, das Wiki zu lesen, wenn Sie die Registrierung ändern oder sich anmelden möchten. Alle Informationen über benutzerdefinierte Controller und wie route.rb sein sollte sind in Devise-Dokumentation.

0

ich Ihren Kommentar oben überprüft, wenn Sie Benutzer aktualisieren möchten Sie Benutzer-Controller verwenden können (nicht von der Geräteregistrierung) und unten ist ein Code für die Benutzer Controller

class UsersController < ApplicationController 

    def edit 
    @user = User.find(params[:id]) 
    end 

    def update 
    # devise 
    if params[:user][:password].blank? 
     params[:user].delete(:password) 
     params[:user].delete(:password_confirmation) 
    end 
    @user = User.find(params[:id]) 
    if @user.update_attributes(user_params) 
     flash[:success] = 'User Successfully changed' 
     sign_out_and_redirect(@user) 
     # push the user to sign out 
    else 
     flash[:error] = @user.errors.full_messages[0] 
     redirect_to users_path 
    end 
    end 

    private 

    # white list parameter 
    def user_params 
    params.require(:user).permit(
     :username, 
     :password, 
     :password_confirmation, 
     :email 
    end 
end 
+0

Ich habe derzeit keinen Benutzercontroller. Soll ich sagen, dass ich eine Datei user.rb in meine App/Controller legen soll? – user1876508

+0

Nein user.rb ist für Modell, Modell ist anders mit Controller Sie sollten Benutzer-Controller verwenden – widjajayd

Verwandte Themen