[RUBY] Implémentation de la fonction d'authentification des utilisateurs à l'aide de devise (3)

Enregistrement d'un nouvel utilisateur

Pour enregistrer les informations envoyées par la vue dans le tableau Utilisateur Spécifiez la variable d'instance de modèle et l'URL dans form_with.

registrations/new.html.erb


<%= form_with model:@user, url:"/users", local: true do |f| %>
 #réduction
<% end %>

Le @user spécifié dans model: ici est une variable d'instance basée sur le modèle User et est déclarée dans le contrôleur de devise. Le contrôleur de périphérique est généralement invisible, mais il semble qu'il puisse être généré et personnalisé avec la commande suivante.

$ rails g devise:controllers users

La partie du modèle d'URI définie dans le routage suivant est spécifiée dans url:.

Prefix Verb   URI Pattern             Controller#Action                                                                 
       POST   /users(.:format)        devise/registrations#create

De plus, si vous souhaitez enregistrer des informations dans une colonne autre que l'adresse e-mail et le mot de passe, vous devez autoriser l'enregistrement dans la colonne avec la description suivante. Dans l'exemple ci-dessous, les clés: [: username] peuvent être enregistrées dans la colonne nom d'utilisateur lors de la connexion.

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

Référence: https://github.com/heartcombo/devise#strong-parameters

Se déconnecter

Pour implémenter la fonction de déconnexion, préparez un lien de déconnexion sur le fichier de vue comme indiqué ci-dessous.

<%= link_to 'Se déconnecter', destroy_user_session_path, method: :delete, class: "logout" %>

C'est OK si vous définissez le chemin et la méthode: de la même manière que les paramètres de routage.

Prefix               Verb   URI Pattern                Controller#Action
destroy_user_session DELETE /users/sign_out(.:format)  devise/sessions#destroy

S'identifier

Pour implémenter la fonction de connexion, préparez un lien de connexion sur le fichier de vue comme indiqué ci-dessous.

<%= link_to 'S'identifier', new_user_session_path, class: "login" %>

Sous la forme de la vue qui vous invite à saisir les informations de connexion, écrivez comme suit.

sessions/new.html.erb


<%= form_with model:@user, url:user_session_path, class: 'registration-main', 
  #réduction
<% end %>

Envoyer l'URL de la demande: comme vous pouvez le voir, Lorsque le lien de connexion est cliqué, la nouvelle action de l'appareil / des sessions est exécutée et Après avoir entré les informations de connexion, une fois soumises, l'action de création du dispositif / des sessions sera exécutée et vous pourrez vous connecter.

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

Bien qu'il s'agisse d'une brève explication, la fonction minimale de la fonction d'authentification de l'utilisateur utilisant le dispositif a été implémentée. Merci pour votre visite.

Revenir à (2) Revenir à (1)

Recommended Posts

Implémentation de la fonction d'authentification des utilisateurs à l'aide de devise (2)
Implémentation de la fonction d'authentification des utilisateurs à l'aide de devise (1)
Implémentation de la fonction d'authentification des utilisateurs à l'aide de devise (3)
[Rails] Implémentation de la fonction de retrait utilisateur
[Rails] Implémentation d'une nouvelle fonction d'enregistrement au format assistant à l'aide de devise
[Procédure d'implémentation] Créer une fonction d'authentification utilisateur à l'aide de sorcellerie dans Rails
Implémentation de la fonction de recherche
Mise en œuvre de la fonction de pagénation
Introduction de l'authentification des utilisateurs
[Rails] Implémentation de la fonction de recherche en utilisant le ransack de gem
Créer une fonction d'authentification dans l'application Rails à l'aide de devise
[Rails] Implémentation de la fonction d'agrandissement d'image à l'aide de lightbox2
Mise en œuvre de Google Sign-In à l'aide de l'authentification Google OAuth 2.0 (édition serveur)
Implémentation de la fonction de connexion Ruby on Rails (édition de devise)
Implémentation de la fonction de recherche séquentielle
Implémentation d'une fonction similaire (Ajax)
Implémentation de la fonction de prévisualisation d'image
[Rails] Implémentation de la fonction de catégorie multicouche en utilisant l'ascendance "Préparation"
[Rails] Implémentation de la fonction de catégorie
Mise en œuvre de la fonction déroulante de catégorie
[Rails] Implémentation de la fonction tutoriel
[Rails] Implémentation d'une fonction similaire
[Rails] Implémentation de la fonction de catégorie multicouche en utilisant l'ascendance "Edit Form Edition"
[Rails] Implémentation de la fonction de catégorie multicouche à l'aide de l'ascendance "Formulaire de création"
[Rails] Implémentation de la suppression logique utilisateur
[Rails] Implémentation de la fonction d'importation CSV
[Rails] Implémentation asynchrone de la fonction similaire
Mettre en œuvre la fonctionnalité de gestion des utilisateurs à l'aide de Devise
[Rails] À propos de la mise en œuvre de la fonction similaire
[Rails] Implémentation de la fonction d'exportation CSV
Implémentation de la validation à l'aide d'expressions régulières
Implémentation d'une fonction similaire en Java
[Rails] Implémentation de la fonction de balise à l'aide de la fonction agit-as-taggable-on et de la fonction de complétion d'entrée de balise à l'aide de tag-it
Rails [Pour les débutants] Implémentation de la fonction de commentaire
Implémentation des onglets à l'aide de TabLayout et ViewPager
[Ruby on rails] Implémentation d'une fonction similaire
[Rails] Je vais expliquer la procédure d'implémentation de la fonction follow en utilisant form_with.
Comment mettre en œuvre la fonction d'authentification du courrier au moment de l'inscription de l'utilisateur
Implémentation de la fonction de connexion Ruby on Rails (Session)
Utilisez [Rails] pour concevoir la fonction utilisateur invité (pour le portefeuille)
Implémentation de la fonction DM
[FCM] Implémentation de la transmission de messages en utilisant FCM + Spring boot
Résumé de l'apprentissage d'aujourd'hui: avec la mise en œuvre de la fonction de gestion des utilisateurs
concevoir l'enregistrement des utilisateurs
[JQuery] Procédure d'implémentation de la fonction de saisie semi-automatique [Java / Spring]
Mise en place de la fonction de recherche Mémo d'apprentissage (création de portfolio)