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