[RUBY] Présentation de la devise

Comment utiliser la devise

Ajout d'une gemme appelée devise au gemfile.

gemfile


  gem 'devise'

Dans le terminal, accédez au répertoire approprié (exemple cette fois) et Installez Gem avec "bundle install" puis Exécutez "rails g devise: install" pour créer un fichier de configuration de périphérique.

Terminal


$ cd ~/projects/sample

$ bundle install

$ rails g devise:install

** Fichier nouvellement créé **

Si vous pouvez confirmer que le fichier a été créé, Créons un modèle utilisateur avec la commande de création de modèle de devise.

Terminal


rails g devise user

** Fichier nouvellement créé **

De plus, les itinéraires suivants sont automatiquement ajoutés à route.rb.

config/routes.rb


  devise_for :users

devise_for est une méthode de conception qui génère le routage requis pour les fonctions utilisateur à la fois.

Si vous souhaitez ajouter une colonne de pseudonymes à la table des utilisateurs, ajoutez-la au fichier de migration. Si vous souhaitez ajouter une fonction de recherche par pseudonyme, collez également l'index.

Fichier de migration


class DeviseCreateUsers < ActiveRecord::Migration[5.0]
  def change
    create_table :users do |t|
      ## Database authenticatable
      t.string :nickname,               null: false
      t.string :email,              null: false, default: ""
      t.string :encrypted_password, null: false, default: ""

      #~ abrégé ~
    end

    #Plus tard, lors de l'implémentation de la fonction de recherche et de la recherche avec la colonne surnom, ajoutez également ce qui suit.
    add_index :users, :nickname, unique: true

#~ abrégé ~

Assurez-vous que le fichier modèle est également validé correctement.

app/models/user.rb


class User < ApplicationRecord
  # Include default devise modules. Others available are:
  # :confirmable, :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable,  :validatable

  validates :nickname, presence: true, uniqueness: true

end

Exécutez ensuite la migration dans le terminal.

Terminal


rails db:migrate

Lorsque la fonction de connexion est implémentée à l'aide de devise, la manière de recevoir les paramètres est différente de celle habituelle. Les paramètres forts qui limitent les paramètres envoyés lors de la connexion ne peuvent pas être modifiés car ils sont décrits dans le dispositif Gem. Par conséquent, utilisez la "méthode ** configure_permitted_parameters **" fournie par l'appareil pour permettre au formulaire de recevoir la valeur de la colonne surnom.

app/controllers/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: [:nickname])
  end
end

Maintenant que vous avez autorisé l'envoi de la valeur à la colonne des surnoms, modifiez le fichier de vue pour ajouter le formulaire de surnoms à l'écran d'inscription. Pour apporter des modifications au fichier de vue, vous devez utiliser la commande devise pour générer le fichier de vue.

Terminal


$ rails g devise:views

Avec le travail ci-dessus, nous avons pu générer un fichier de vue pour concevoir. Modifiez le fichier de vue généré pour ajouter un formulaire de pseudo à l'écran d'inscription et modifiez la mise en page à votre guise.

L'écran d'inscription est

L'écran de connexion est

Le fichier de vue est pris en charge.

C'est la fin de l'explication de l'introduction de la devise.

Recommended Posts

Présentation de la devise
Présentation de la devise
[Rails] Présentation du dispositif
Concevoir la procédure
[Rails] concevoir
Présentation de la bibliothèque
Présentation de TDD (succès)
[Rails] Présentation de jquery
concevoir l'enregistrement des utilisateurs
Présentation d'ActionView :: Component
Présentation de TDD (échec)