La rencontre avec la devise était la pire. Même le concept de Gem est ambigu en premier lieu, et je me souviens de l'avoir installé quand j'ai pu comprendre un peu le flux du modèle MVC. En principe, je ne touche pas au contrôleur, donc à première vue, je ne pouvais pas comprendre pourquoi l'action était exécutée sans autorisation. Alors, j'ai décidé de mettre en place quelque chose comme "C'est tout!"
concevoir est un joyau spécialisé dans les fonctions de gestion des utilisateurs. Les paramètres tels que la connexion et la déconnexion sont faciles. En d'autres termes, vous n'avez pas à définir manuellement le routage, le contrôle, etc. Si l'application peut être enregistrée en tant qu'utilisateur et recevoir le service, son introduction présente l'avantage d'accélérer le développement.
Cette fois, nous ne traiterons que les nouvelles inscriptions.
Gemfile
gem 'devise'
・ La dernière ligne du fichier est OK
Il y a deux choses à faire ici.
① Assurez-vous que le répertoire actuel est le répertoire de l'application que vous souhaitez installer. Au terminal
bundle install
Assurez-vous de le faire après l'avoir ajouté au Gemfile. Redémarrez le serveur local si nécessaire. (Contrôle + c → rails s)
② Aussi au terminal
rails g devise:install
Cette commande est importante. N'oubliez pas! Cette commande vous permet d'utiliser devise.
Comme on suppose que la fonction de gestion des utilisateurs sera mise en œuvre cette fois, le nom du modèle sera "utilisateur". Aussi au terminal
rails g devise:model user
Points difficiles
Si vous étudiez les bobines pour la première fois, les commandes de création d'un modèle sont
rails g model user
Apprendre. En comparant les différences, c'est la présence ou l'absence de devise. Les résultats diffèrent grandement selon la présence ou l'absence de cela.
Si la commande n'a pas de modèle ci-dessous, il s'agit simplement de créer un modèle. En d'autres termes, le dispositif ne peut être utilisé. En paramétrant devise: model, même le routage lié au dispositif est généré en même temps avec cette seule commande. Cela vous évite d'avoir à créer un itinéraire. Étonnamment, c'est à la fois un point difficile à apprendre et une bonne chose à propos de la conception. (Le modèle créé se trouve dans le répertoire "app / models")
Ajoutez des colonnes au fichier de migration si nécessaire. Cette fois, il est omis. À propos, la devise inclut les colonnes email et mot de passe par défaut. C'est aussi un point de conception compétent. Au terminal.
rails db:migrate
Ici, dvise n'est pas attaché. L'idée est que les fichiers de migration ne se limitent pas aux fichiers créés avec un appareil, mais il y en a d'autres.
On suppose que le lien vers la vue est spécifié par la méthode d'assistance link_to. Au terminal
rails routes
Ensuite, le routage est aligné dans une rangée. (La vue des itinéraires ferroviaires est omise) Ce qu'il faut noter sign_up (nouvelle inscription) sign_in (connexion) C'est une chose différente. Nouvelle inscription = inscription Login = session Est inclus dans le chemin.
Plus précisément, le lien est décrit dans le fichier de vue comme suit.
<%= link_to 's'inscrire', new_user_registration_path %>
<%= link_to 'S'identifier', new_user_session_path %>
Quoi qu'il en soit, faites attention à la différence de chemin.
Tout d'abord, à partir de la commande pour générer un fichier de vue. Encore une fois, au terminal
rails g devise:views
C'est aussi un point difficile. Il y a trois choses importantes.
Le premier est Comme pour la génération de modèle précédente, ajoutez "concevoir". Le fichier de vue généré par l'ajout de devise sera en cours de conception. En particulier, app/views/devise/registrations/new.html.erb app/views/devise/sessions/new.html.erb
Le second est Il est divisé en un répertoire des inscriptions pour la nouvelle inscription et un répertoire des sessions pour la connexion. En d'autres termes, le fichier qui édite le HTML du nouvel écran d'enregistrement et le fichier qui édite le HTML de l'écran de connexion sont différents.
Le troisième est Le dernier mot de la commande est au pluriel comme view s </ font>. Comme mentionné dans la deuxième section, un certain nombre de fichiers de vue sont générés, vous pouvez donc vous en souvenir au pluriel. En passant, le code est écrit à la fois dans le fichier HTML nouvellement enregistré et dans le fichier HTMl de connexion par défaut. Modifiez au besoin. (Si vous avez ajouté des colonnes ou si vous êtes détaillé sur la conception)
Le texte est devenu long et difficile à lire. Il ne fait aucun doute que vous vous sentirez une gemme pratique une fois que vous vous y serez habitué!