Speichern der von der Ansicht gesendeten Informationen in der Benutzertabelle Geben Sie die Modellinstanzvariable und die URL in form_with an.
registrations/new.html.erb
<%= form_with model:@user, url:"/users", local: true do |f| %>
#Kürzung
<% end %>
Der im Modell angegebene @user: Hier ist eine Instanzvariable, die auf dem Benutzermodell basiert und im Devise Controller deklariert ist. Der Devise Controller ist normalerweise unsichtbar, aber es scheint, dass er mit dem folgenden Befehl generiert und angepasst werden kann.
$ rails g devise:controllers users
Der im folgenden Routing festgelegte Teil des URI-Musters wird in der URL angegeben :.
Prefix Verb URI Pattern Controller#Action
POST /users(.:format) devise/registrations#create
Wenn Sie Informationen in einer anderen Spalte als E-Mail und Kennwort speichern möchten, müssen Sie das Speichern in der Spalte mit der folgenden Beschreibung zulassen. Im folgenden Beispiel dürfen die Schlüssel: [: Benutzername] während der Anmeldung in der Spalte Benutzername gespeichert werden.
application_controller.rb
class ApplicationController < ActionController::Base
before_action :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up, keys: [:username])
end
end
Referenz: https://github.com/heartcombo/devise#strong-parameters
Um die Abmeldefunktion zu implementieren, bereiten Sie einen Abmeldelink für die Ansichtsdatei vor, wie unten gezeigt.
<%= link_to 'Ausloggen', destroy_user_session_path, method: :delete, class: "logout" %>
Es ist in Ordnung, wenn Sie Pfad und Methode festlegen: auf die gleiche Weise wie die Routing-Einstellungen.
Prefix Verb URI Pattern Controller#Action
destroy_user_session DELETE /users/sign_out(.:format) devise/sessions#destroy
Um die Anmeldefunktion zu implementieren, bereiten Sie einen Anmeldelink für die Ansichtsdatei vor, wie unten gezeigt.
<%= link_to 'Einloggen', new_user_session_path, class: "login" %>
Schreiben Sie in Form der Ansicht, in der Sie zur Eingabe der Anmeldeinformationen aufgefordert werden, wie folgt.
sessions/new.html.erb
<%= form_with model:@user, url:user_session_path, class: 'registration-main',
#Kürzung
<% end %>
Anfrage-URL senden: Wie Sie sehen können, Wenn Sie auf den Anmeldelink klicken, wird die neue Aktion von Gerät / Sitzungen ausgeführt und Nach Eingabe der Anmeldeinformationen wird beim Senden die Erstellungsaktion von Gerät / Sitzungen ausgeführt und Sie können sich anmelden.
Prefix Verb URI Pattern Controller#Action
new_user_session GET /users/sign_in(.:format) devise/sessions#new
user_session POST /users/sign_in(.:format) devise/sessions#create
Obwohl es sich um eine kurze Erklärung handelt, wurde die Mindestfunktion der Benutzerauthentifizierungsfunktion unter Verwendung von devise implementiert. Danke für Ihren Besuch.
Recommended Posts