Tout d'abord, je voudrais passer en revue le flux d'introduction de l'appareil (ce que j'ai fait) et laissez-moi m'en souvenir ici. Puisque je suis débutant, veuillez me contacter à chaque fois si vous me dites quelque chose qui ne va pas.
Tout d'abord, un aperçu de l'appareil, c'est un joyau pour la mise en œuvre de la fonctionnalité de gestion des utilisateurs. Vous pouvez facilement implémenter une nouvelle inscription et une connexion / déconnexion.
Éditons le Gemfile
gem 'devise'(Ajoutons à la dernière ligne)
Vous pouvez désormais travailler avec votre appareil localement, en test et en production.
Après avoir installé Gem, redémarrez une fois le serveur local exécuté dans le terminal. Le moment de refléter le Gem installé est dû au démarrage du serveur.
Pour pouvoir utiliser devise, en plus d'installer Gem, il est nécessaire de créer un fichier de paramétrage avec une commande dédiée à concevoir. Créons un fichier avec cette commande
% rails g devise:install
Succès lorsque le journal suivant s'écoule!
create config/initializers/devise.rb
create config/locales/devise.en.yml
===============================================================================
Depending on your application's configuration some manual setup may be required:
1. Ensure you have defined default url options in your environments files. Here
is an example of default_url_options appropriate for a development environment
in config/environments/development.rb:
config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
In production, :host should be set to the actual host of your application.
* Required for all applications. *
2. Ensure you have defined root_url to *something* in your config/routes.rb.
For example:
root to: "home#index"
* Not required for API-only Applications *
3. Ensure you have flash messages in app/views/layouts/application.html.erb.
For example:
<p class="notice"><%= notice %></p>
<p class="alert"><%= alert %></p>
* Not required for API-only Applications *
4. You can copy Devise views (for customization) to your app by running:
rails g devise:views
* Not required *
===============================================================================
Lors de l'utilisation de devise, il est nécessaire de créer un nouveau modèle d'utilisateur pour créer un compte. Pour le créer, créez un modèle utilisateur avec la commande de création de modèle de devise au lieu de la méthode de création de modèle habituelle. La commande suivante peut générer le modèle, le fichier de migration qui l'accompagne et les paramètres de routage en même temps. Les chemins liés à l'appareil sont ajoutés à routes.rb.
rails g devise user
Succès dans le journal suivant
invoke active_record
create db/migrate/20200309082300_devise_create_users.rb
create app/models/user.rb
invoke test_unit
create test/models/user_test.rb
create test/fixtures/users.yml
insert app/models/user.rb
route devise_for :users
De plus, les routes suivantes sont automatiquement ajoutées à routes.rb.
Rails.application.routes.draw do
devise_for :users
root to: 'tweets#index'
resources :tweets
end
devise_for est une méthode de conception qui génère simultanément plusieurs routes requises pour les fonctions utilisateur.
Étant donné que le fichier de migration a également été généré par la commande précédente, migrez-le.
rails db:migrate
Le tableau a été créé ici.
** Puisque les informations de la table ont été modifiées (migrées), redémarrons le serveur local lors de son démarrage. ** **
Lorsque vous implémentez la fonction de connexion dans l'appareil, l'écran de connexion / inscription est automatiquement généré, mais il n'est pas généré en tant que fichier de vue. Ceci est dû au fait que nous chargeons un fichier de vue qui existe dans le périphérique Gem.
Afin d'apporter des modifications au fichier de vue de devise, vous devez utiliser la commande de devise pour générer le fichier de vue.
Exécutez la commande pour créer une vue pour l'appareil
% rails g devise:views
Modifiez la vue de l'écran de connexion et le fichier de vue du nouvel écran d'enregistrement créé ici pour créer l'apparence.
Ceci termine l'installation de base de l'appareil. Je suis conscient que si c'est simple, ça va ici, Également utilisé dans la devise
rails g devise:contoroller users
Il y a. Je voudrais résumer comment l'utiliser dans un autre article ci-dessous. (Parce que je ne comprends pas les normes requises)
Les informations que vous saisissez lors de votre inscription sont envoyées au serveur en tant que paramètre. Pour les demandes régulières sans dispositif, nous avons écrit des paramètres forts dans le contrôleur pour limiter les paramètres que nous pourrions recevoir.
Pour la conception, écrivez également des paramètres forts dans le contrôleur. Cependant, le contrôleur qui gère l'appareil est décrit dans la Gemme et ne peut pas être modifié. De plus, si vous implémentez la fonction de connexion avec devise, en plus des paramètres, vous recevrez également des paramètres différents des paramètres.
À partir de ce qui précède, nous avons besoin d'une méthode pour refléter les paramètres forts sur le contrôleur du dispositif et d'une méthode pour acquérir des paramètres spécifiques au dispositif.
Une méthode comme les paramètres dans la conception. Vous pouvez obtenir des paramètres à partir de demandes telles que «connexion» et «nouvel enregistrement» liées au modèle utilisateur de l'appareil.
En combinant cette méthode avec la méthode permit, vous pouvez également spécifier et inclure des colonnes nouvellement ajoutées pour les paramètres forts définis dans devise.
La méthode devise_parameter_sanitizer est utilisée dans la méthode privée nouvellement définie, comme les paramètres forts précédents. Puisque le fournisseur de devise introduit le nom de méthode nouvellement défini comme configure_permitted_parameters, il est habituel de le définir avec ce nom de méthode.
private
def configure_permitted_parameters #Le nom de la méthode est habituel
#Autoriser les paramètres pour le modèle utilisateur de l'appareil
devise_parameter_sanitizer.permit(:définir le nom du processus, keys: [:Clés à autoriser])
end
Le permis de périphérique ajoute les paramètres autorisés en spécifiant la clé dans le tableau pour la clé du nom de traitement du dispositif dans le premier argument et les clés dans le second argument.
Pour le nom de processus du premier argument, sign_in, sign_up et account_update qui ont déjà été définis dans l'appareil peuvent être utilisés, et ils correspondent aux processus au moment de la connexion, de l'inscription et de la mise à jour des informations de compte, respectivement.
Rôle de nom de processus
:sign_in Lors de la connexion (connexion) traitement
:sign_up Lors du traitement de l'inscription (nouvelle inscription)
:account_update Lors du traitement de la mise à jour des informations de compte
Écrivez ces descriptions dans ** application_controller.rb **.
app/controllers/application_controller.rb
class ApplicationController < ActionController::Base
before_action :configure_permitted_parameters, if: :devise_controller?
private
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up, keys: [:nickname])
end
end
Notez que nous utilisons l'option if de before_action. En spécifiant le nom de la méthode dans la valeur, il est défini pour exécuter le processus uniquement lorsque la valeur de retour est true.
Cette fois, j'ai spécifié le nom de la méthode d'assistance de devise: devise_controller ?, Et s'il s'agit du traitement du contrôleur lié à devise, il est configuré pour exécuter la méthode configure_permitted_parameters uniquement à ce moment-là. Même si le processus est lu par d'autres contrôleurs de tweets, il n'est pas exécuté.
rails g commande de migration
Une commande pour générer une migration. La migration était précédemment générée avec le modèle avec la commande rails g model, mais elle est utilisée lors de la modification du contenu d'une table déjà créée.
Cette commande décrit automatiquement le type d'opération de table à effectuer en fonction du nom du fichier spécifié.
rails g migration Ajouter un nom de colonne Pour Ajouter un nom de table de destination En utilisant type, la migration sera générée avec le code requis pour ajouter la colonne à la table.
L'étui serpent et l'étui chameau représentent chacun comment séparer les mots.
Les cas de serpent utilisent des traits de soulignement pour séparer les mots Le cas de chameau capitalise les sauts de mots Il existe plusieurs façons de séparer les mots lorsque les mots des noms de variables ou de fonctions sont contigus. Consultez le tableau ci-dessous.
Méthode de notation Exemple d'explication
Camel case adminUserCommentCreator avec débuts inférieurs et séparateurs de mots supérieurs
Cas supérieur de chameau Un des cas de chameau. AdminUserCommentCreator qui met en majuscule les délimiteurs de mots depuis le début
Administrateur de cas de serpent avec soulignement pour les sauts de mots_user_comment_creator
La convention de dénomination habituelle pour les rails est la suivante.
Cible de la dénomination Conventions de dénomination habituelles
Nom de la classe Cas supérieur de chameau
Nom de la méthode Cas du serpent
Nom de la variable Snake case
Respectez ces conventions de dénomination lors de la création de vos propres classes et méthodes.
Recommended Posts