[RUBY] Devise vorstellen

Wie man ein Gerät benutzt

Der Edelsteindatei wurde ein Edelstein namens "Gerät" hinzugefügt.

gemfile


  gem 'devise'

Wechseln Sie im Terminal in das entsprechende Verzeichnis (diesmal Beispiel) und Installieren Sie Gem mit "Bundle Install" und dann Führen Sie "Rails g Devise: Install" aus, um eine Gerätekonfigurationsdatei zu erstellen.

Terminal


$ cd ~/projects/sample

$ bundle install

$ rails g devise:install

** Neu erstellte Datei **

Wenn Sie bestätigen können, dass die Datei erstellt wurde, Erstellen wir ein Benutzermodell mit dem Befehl zum Erstellen eines Modells.

Terminal


rails g devise user

** Neu erstellte Datei **

Darüber hinaus werden die folgenden Routen automatisch zu route.rb hinzugefügt.

config/routes.rb


  devise_for :users

devise_for ist eine Gerätemethode, die das für Benutzerfunktionen erforderliche Routing sofort generiert.

Wenn Sie der Benutzertabelle eine Spitznamenspalte hinzufügen möchten, fügen Sie sie der Migrationsdatei hinzu. Wenn Sie eine Funktion zur Suche nach Spitznamen hinzufügen möchten, fügen Sie auch den Index ein.

Migrationsdatei


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: ""

      #~ Abkürzung ~
    end

    #Fügen Sie später, wenn Sie die Suchfunktion implementieren und mit der Spitznamenspalte suchen, Folgendes hinzu.
    add_index :users, :nickname, unique: true

#~ Abkürzung ~

Stellen Sie sicher, dass die Modelldatei auch ordnungsgemäß validiert ist.

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

Führen Sie dann die Migration im Terminal aus.

Terminal


rails db:migrate

Wenn die Anmeldefunktion mit devise implementiert wird, unterscheidet sich die Art und Weise, wie Parameter empfangen werden, von der üblichen. Starke Parameter, die die beim Anmelden gesendeten Parameter einschränken, können nicht bearbeitet werden, da sie im Devise Gem beschrieben sind. Verwenden Sie daher die von devise bereitgestellte Methode "** configure_permitted_parameters **", damit das Formular den Wert der Spalte "Spitzname" erhält.

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

Nachdem Sie zugelassen haben, dass der Wert an die Spalte "Spitzname" gesendet wird, ändern Sie die Ansichtsdatei, um das Formular "Spitzname" zum Anmeldebildschirm hinzuzufügen. Um Änderungen an der Ansichtsdatei vorzunehmen, müssen Sie den Befehl devise verwenden, um die Ansichtsdatei zu generieren.

Terminal


$ rails g devise:views

Mit der obigen Arbeit konnten wir eine Ansichtsdatei für die Entwicklung generieren. Bearbeiten Sie die generierte Ansichtsdatei, um dem Anmeldebildschirm ein Formular für den Spitznamen hinzuzufügen, und ändern Sie das Layout nach Ihren Wünschen.

Der Anmeldebildschirm ist

Der Anmeldebildschirm ist

Die Ansichtsdatei wird unterstützt.

Dies ist das Ende der Erklärung der Einführung von Devise.

Recommended Posts

Devise vorstellen
Devise vorstellen
[Rails] Einführung in das Gerät
Verfahren entwickeln
[Schienen] erfinden
Vorstellung der Bibliothek
Einführung von TDD (Erfolg)
[Rails] Einführung in jquery
Benutzerregistrierung erstellen
Einführung in ActionView :: Component
Einführung von TDD (Failure)