Dieser Artikel dient nur zum Erstellen einer Anmeldefunktion mit einer WEB-Anwendung, die Rails verwendet. Lassen Sie uns dies in Ihrem Körper auswendig lernen, damit Sie es mit explosiver Geschwindigkeit schaffen können!
Wenn Sie dies nicht schaffen, beginnt nichts! Führen Sie den folgenden Befehl vom Terminal aus.
% rails _5.2.3_neuer App-Name-d mysql
Wenn Sie mit dem obigen Befehl eine App-Vorlage erstellt haben, wechseln Sie in das App-Verzeichnis.
%Name der CD-App
Öffnen Sie die Gemfile in einem Editor und fügen Sie ein Gerät hinzu. devise ist ein Juwel, mit dem sich die für die Benutzerauthentifizierung erforderlichen Funktionen einfach erstellen lassen. Außerdem verwende ich dieses Mal haml anstelle von erb, sodass ich auch ein Juwel installieren werde, das erb-Dateien in haml konvertiert.
gem 'devise'
gem "haml-rails"
Fügen Sie dem Gemfile ein Gerät hinzu und installieren Sie es!
% bundle install
Konvertieren Sie nach Abschluss der Installation die erb-Datei in haml.
% rails haml:erb2haml
Erstellen Sie nach Abschluss der oben genannten Konvertierungsarbeiten eine Konfigurationsdatei.
% rails g devise:install
Anschließend wird die folgende Einstellungsdatei erstellt. config/initializers/devise.rb config/locales/devise.en.yml
Führen Sie dann den folgenden Befehl aus, um ein Benutzermodell zu erstellen.
% rails g devise user
Die Routing-Datei enthält jetzt auch das Routing des Geräts.
Rails.application.routes.draw do
devise_for :users
end
Die von dieser App verwendete Datenbank wurde noch nicht erstellt. Erstellen wir sie also.
% rails db:create
Ich denke, dass die Migrationsdatei erstellt wurde, als das Modell erstellt wurde. Lassen Sie uns also migrieren xxxxxxxxxxxxxx_devise_create_users.rb
% rails db:migrate
Damit sind die Einstellungen für die Datenbank abgeschlossen.
Erstellen Sie als Nächstes eine Ansichtsdatei für die oberste Seite. Lassen Sie uns hier zum Anmelden, zur neuen Registrierung und zum Abmelden führen. Dieses Mal erstellen wir index.html.haml in app / views / posts unter der Annahme, dass der Benutzer eine Art von Posts posten kann. Nach der Installation von devise können Sie eine Hilfsmethode namens user_signed_in verwenden. Lassen Sie uns also die Anzeige trennen, wenn Sie nicht angemeldet sind und wenn Sie angemeldet sind.
%header
- if user_signed_in?
%div
= link_to "Ausloggen", destroy_user_session_path, method: :delete
- else
%div
= link_to "Einloggen", new_user_session_path
= link_to "Anmelden", new_user_registration_path
Wenn die oberste Seite erstellt wird, fügen Sie das Routing zu route.rb hinzu.
Rails.application.routes.draw do
devise_for :users
root to: 'posts#index'
end
Wenn Sie im Moment versuchen, die obere Seite zu öffnen, wird der folgende Fehler angezeigt. Erstellen Sie daher einen Controller.
% rails g controller posts
Jetzt hast du einen Controller! Sie sollten in der Lage sein, die obere Seite zu öffnen, indem Sie die Indexaktion zum erstellten Controller hinzufügen.
class PostsController < ApplicationController
def index
end
end
Es ist ein langweiliger Bildschirm, aber wenn alles gut geht, sollte er wie der folgende aussehen.
Melden Sie sich als Nächstes an und erstellen Sie einen neuen Registrierungsbildschirm. Führen Sie den folgenden Befehl aus, um eine Ansicht für die neue Registrierung und Anmeldung zu erstellen.
% rails g devise:views
.Neuer Registrierungsbildschirm app/views/devise/registrations/new.html.erb
·Anmeldebildschirm app/views/devise/sessions/new.html.erb
Dieses Mal wird es mit haml erstellt. Führen Sie also den folgenden Befehl erneut aus, um erb in haml zu konvertieren.
% rails haml:erb2haml
Wenn Sie dies bisher tun können, sollten Sie sich registrieren, anmelden und abmelden können. Lassen Sie es uns also sofort üben. ・ Klicken Sie auf Neue Registrierung
・ Geben Sie Ihre E-Mail-Adresse und Ihr Passwort ein und klicken Sie auf "Anmelden".
・ Gehen Sie zur oberen Seite und die Abmeldung wird angezeigt. Klicken Sie auf Abmelden.
・ Ich konnte mich abmelden, klicken Sie also auf Anmelden.
・ Geben Sie Ihre E-Mail-Adresse und Ihr Passwort ein und klicken Sie auf Anmelden
-Übergang zur obersten Seite und Abmeldung wird angezeigt.
Es sieht umständlich aus, weil der Stil nicht stimmt, aber vorerst ist die serverseitige Implementierung abgeschlossen! Bitte lesen Sie diesen Artikel und streben Sie eine explosive Umsetzung an!
Recommended Posts