ruby '2.6.5' rails '6.0.0 devise 4.7.2
edit_user_registration GET /users/edit(.:format) users/registrations#edit
Ich konnte bestätigen, dass es sich um edit_user_registration_path handelt. Erstellen Sie dazu mit link_to einen Pfad.
Setzen Sie before_action und configure_account_update_params. Dieses Mal werde ich meine Kolumne setzen.
before_action :configure_account_update_params, only: [:update]
def configure_account_update_params
devise_parameter_sanitizer.permit(:account_update, keys: [:nickname, :email, :password, :gender_id, :birth, :bloodtype_id, :emergencyperson, :emergencycall, :real_name, :real_name_kana, :phone_number])
end
Erstellen Sie eine Datei edit.html.erb in Benutzern / Registrierungen. Ich benutze meistens eine Kopie von new.html.erb, aber es gibt einige zusätzliche Hinweise. Ich verwende zwei Geräte, damit die Verzeichnisse unterschiedlich sind, aber mit einem Gerät erstellt die Ansicht edit.html.erb in devise / registrations.
Ändern Sie auch den Pfad von form_with. Referenzseite hier Nach dem Fazit ist dies die Standardeinstellung von devise, aber beim Aktualisieren des Kennworts wird das aktuelle Kennwort authentifiziert und aktualisiert.
<%= form_with model: @user, url: user_registration_path, method: :patch, class: 'registration-main', local: true do |f| %>
<div class="field">
<%= f.label :current_password %>
<%= f.password_field :current_password, autocomplete: "current-password" %>
</div>
Füge das hinzu. Bei der Bearbeitung ist ein Element erforderlich, um das vorhandene Kennwort einzugeben.
Durch Hinzufügen wurden die geänderten Elemente erfolgreich gespeichert. Es ist jedoch wichtig, auch wenn Sie das Passwort nicht ändern. Was ist das? Es ist wie es ist. Ich werde weiter forschen und lernen.
Recommended Posts