[RUBY] Erstellen Sie trotzdem eine Anmeldefunktion mit Rails

Lassen Sie uns trotzdem eine Login-Funktion erstellen

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!

Erstellen Sie eine App-Vorlage

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

Gerät installieren

Ö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

Einstellungen rund um die Datenbank

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.

Zeigen Sie die obere Seite an

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.

スクリーンショット 2020-05-23 19.56.32.png

% 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. スクリーンショット 2020-05-23 20.03.48.png

Login und neue Registrierung

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 スクリーンショット 2020-05-23 20.03.48.png

・ Geben Sie Ihre E-Mail-Adresse und Ihr Passwort ein und klicken Sie auf "Anmelden". スクリーンショット 2020-05-23 20.11.41.png

・ Gehen Sie zur oberen Seite und die Abmeldung wird angezeigt. Klicken Sie auf Abmelden. スクリーンショット 2020-05-23 20.15.26.png

・ Ich konnte mich abmelden, klicken Sie also auf Anmelden. スクリーンショット 2020-05-23 20.17.52.png

・ Geben Sie Ihre E-Mail-Adresse und Ihr Passwort ein und klicken Sie auf Anmelden スクリーンショット 2020-05-23 20.19.00.png

-Übergang zur obersten Seite und Abmeldung wird angezeigt. スクリーンショット 2020-05-23 20.22.42.png

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

Erstellen Sie trotzdem eine Anmeldefunktion mit Rails
Lassen Sie uns eine Suchfunktion mit Rails (Ransack) machen
Ich habe versucht, mit Rails eine Gruppenfunktion (Bulletin Board) zu erstellen
Erstellen einer EC-Site mit Rails 5 ⑨ ~ Erstellen einer Warenkorbfunktion ~
Ich habe versucht, eine Anmeldefunktion mit Java zu erstellen
Anmeldefunktion mit Spring Security
[Schienen] Machen Sie eine Brotkrumenliste
Ich möchte eine Funktion mit Kotlin und Java erstellen!
[Ruby on Rails] Implementieren Sie die Anmeldefunktion von add_token_to_users mit API
Implementieren Sie die Anmeldefunktion in Rails einfach mit Name und Passwort (3).
Machen Sie mit Ruby2D ein Labyrinth
[Rails] Pagenation mit Ajax kompatibel machen
Fügen Sie eine Suchfunktion in Rails hinzu.
Erstellen Sie mit JavaFX ein Diashow-Tool
Implementieren Sie eine einfache Anmeldefunktion in Rails
Machen Sie eine Müllabfuhr mit line-bot-sdk-java
Erstellen Sie eine Listenkarte mit LazyMap
Machen Sie ein Tippspiel mit Ruby
Ich möchte eine Browsing-Funktion mit Ruby on Rails hinzufügen
Anmeldefunktion
[Rails] Implementierung einer mehrschichtigen Kategoriefunktion unter Verwendung der Abstammung "Ich habe versucht, ein Fenster mit Bootstrap 3 zu erstellen"
Machen wir eine Weihnachtskarte mit Verarbeitung!
Erstellen Sie mit Sinatra eine Familien-ToDo-Liste
[Rails6] Erstelle eine neue App mit Rails [Anfänger]
Schienen Hinzufügen einer einfachen Anmeldefunktion
Versuchen Sie, eine Anmeldefunktion mit Spring-Boot zu implementieren
Erstellen Sie mit Sinatra eine Familien-ToDo-Liste
[Docker] [Nginx] Erstellen Sie mit Nginx eine einfache ALB
[Rails 5] Erstelle eine neue App mit Rails [Anfänger]
Lassen Sie uns mit Rails einen Fehlerbildschirm erstellen
Erstellen Sie eine Anmeldefunktion mit Swift's Optional
[Rails] Implementieren Sie die Produktkauffunktion mit einer bei PAY.JP registrierten Kreditkarte
Implementierung der Ruby on Rails-Anmeldefunktion (Sitzung)
[Rails] Rails neu, um eine Datenbank mit PostgreSQL zu erstellen
Tag-Funktion zu Rails hinzufügen. Verwenden Sie Acts-as-Taggable-On
Versuchen Sie, die Anmeldefunktion mit Spring Boot zu implementieren
Erstellen Sie einen Team-Chat mit Rails Action Cable
[Schienen] Kategoriefunktion
[Rails] Ich habe eine Entwurfsfunktion mit enum erstellt
Schienen folgen der Funktion
Rails6 Ich möchte ein Array von Werten mit einem Kontrollkästchen erstellen
Machen Sie System.out Mock mit dem Spock Test Framework
Ich habe einen LINE Bot mit Rails + Heroku gemacht
Erstellen Sie eine EC-Site mit Rails 5 ⑩ ~ Erstellen Sie eine Bestellfunktion ~
Ich habe mit Ruby On Rails ein Portfolio erstellt
[Rails] Benachrichtigungsfunktion
Ich habe versucht, eine Nachrichtenfunktion der Rails Tutorial-Erweiterung (Teil 1) zu erstellen: Erstellen Sie ein Modell
Führen Sie Scala mit GraalVM aus und machen Sie es zu einem nativen Image