[RUBY] Créez quand même une fonction de connexion avec Rails

Créons quand même une fonction de connexion

Cet article concerne uniquement la création d'une fonction de connexion avec une application WEB qui utilise Rails. Mémorisons cela dans votre corps afin que vous puissiez le faire à une vitesse explosive!

Créer un modèle d'application

Si vous ne faites pas cela, rien ne commencera! Exécutez la commande suivante à partir du terminal.

% rails _5.2.3_nouveau nom d'application-d mysql

Une fois que vous avez créé un modèle d'application avec la commande ci-dessus, accédez au répertoire de l'application.

%nom de l'application cd

installer le dispositif

Ouvrez le Gemfile dans un éditeur et ajoutez un modèle. devise est un joyau qui facilite la création des fonctions nécessaires à l'authentification des utilisateurs. De plus, cette fois, j'utilise haml au lieu d'erb, donc j'installe également un gem qui convertit les fichiers erb en haml.

gem 'devise'
gem "haml-rails"

Ajoutez un appareil au Gemfile et installez-le!

% bundle install

Une fois l'installation terminée, convertissez le fichier erb en haml.

% rails haml:erb2haml

Après avoir terminé le travail de conversion ci-dessus, créez un fichier de configuration de périphérique.

% rails g devise:install

Ensuite, le fichier de paramètres suivant est créé. config/initializers/devise.rb config/locales/devise.en.yml

Paramètres autour de la base de données

Exécutez ensuite la commande suivante pour créer un modèle utilisateur.

% rails g devise user

Le fichier de routage contiendra désormais également le routage de l'appareil.

Rails.application.routes.draw do
  devise_for :users
end

La base de données utilisée par cette application n'a pas encore été créée, alors créons-la.

% rails db:create 

Je pense que le fichier de migration a été créé lors de la création du modèle, alors migrons xxxxxxxxxxxxxx_devise_create_users.rb

% rails db:migrate

Ceci termine les paramètres autour de la base de données.

Afficher la première page

Ensuite, créez un fichier de vue pour la page supérieure. Faisons une piste pour vous connecter, vous enregistrer et vous déconnecter ici Cette fois, nous allons créer index.html.haml dans app / views / posts en supposant que l'utilisateur peut publier une sorte de messages. Après l'installation de devise, vous pouvez utiliser une méthode d'assistance appelée user_signed_in, séparons donc l'affichage lorsque vous n'êtes pas connecté et lorsque vous êtes connecté.

%header
  - if user_signed_in?
    %div
      = link_to "Se déconnecter", destroy_user_session_path, method: :delete
  - else
    %div
      = link_to "S'identifier", new_user_session_path
      = link_to "s'inscrire", new_user_registration_path

Lorsque la page supérieure est créée, ajoutez le routage à routes.rb.

Rails.application.routes.draw do
  devise_for :users
  root to: 'posts#index'
end

Pour le moment, si vous essayez d'ouvrir la page principale, vous obtiendrez l'erreur suivante, alors créez un contrôleur.

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

% rails g controller posts

Maintenant, vous avez un contrôleur! Vous devriez pouvoir ouvrir la page supérieure en ajoutant l'action d'index au contrôleur créé.

class PostsController < ApplicationController
  def index
  end
end

C'est un écran terne, mais si tout se passe bien, il devrait ressembler à celui ci-dessous. スクリーンショット 2020-05-23 20.03.48.png

Connexion et nouvelle inscription

Ensuite, connectez-vous et créez un nouvel écran d'inscription. Exécutez la commande suivante pour créer une vue pour un nouvel enregistrement et une nouvelle connexion.

% rails g devise:views

.Nouvel écran d'inscription app/views/devise/registrations/new.html.erb

·Écran de connexion app/views/devise/sessions/new.html.erb

Cette fois, il sera créé avec haml, alors exécutons à nouveau la commande suivante pour convertir erb en haml.

% rails haml:erb2haml

Si vous pouvez le faire jusqu'à présent, vous devriez pouvoir vous inscrire, vous connecter et vous déconnecter, alors répétons-le immédiatement. ・ Cliquez sur nouvelle inscription スクリーンショット 2020-05-23 20.03.48.png

・ Entrez votre adresse e-mail et votre mot de passe et cliquez sur «s'inscrire» スクリーンショット 2020-05-23 20.11.41.png

・ Accédez à la page d'accueil et déconnexion s'affichera. Cliquez sur Déconnexion. スクリーンショット 2020-05-23 20.15.26.png

・ J'ai pu me déconnecter, alors cliquez sur Connexion. スクリーンショット 2020-05-23 20.17.52.png

・ Entrez votre adresse e-mail et votre mot de passe et cliquez sur Connexion スクリーンショット 2020-05-23 20.19.00.png

-La transition vers la page d'accueil et la déconnexion sont affichées. スクリーンショット 2020-05-23 20.22.42.png

Cela semble gênant car le style n'est pas correct, mais pour le moment, l'implémentation côté serveur est terminée! Veuillez vous référer à cet article et visez une mise en œuvre explosive!

Recommended Posts

Créez quand même une fonction de connexion avec Rails
Faisons une fonction de recherche avec Rails (ransack)
J'ai essayé de créer une fonction de groupe (babillard) avec Rails
Créer un site EC avec Rails 5 ⑨ ~ Créer une fonction de panier ~
J'ai essayé de créer une fonction de connexion avec Java
Fonction de connexion avec Spring Security
[Rails] Faites une liste de miettes de pain
Je veux créer une fonction avec kotlin et java!
[Ruby on Rails] Implémenter la fonction de connexion par add_token_to_users avec l'API
Implémentez la fonction de connexion simplement avec le nom et le mot de passe dans Rails (3)
Créez un labyrinthe de fouilles avec Ruby2D
[Rails] Rendre la pagination compatible avec Ajax
Ajoutez une fonction de recherche dans Rails.
Créer un outil de diaporama avec JavaFX
Créer une fonction de pagination avec Rails Kaminari
Implémenter une fonction de connexion simple dans Rails
Faire un rappel de garbage avec line-bot-sdk-java
Créer une carte de liste avec LazyMap
Faites un jeu de frappe avec ruby
Je souhaite ajouter une fonction de navigation avec ruby on rails
Fonction de connexion
[Rails] Implémentation de la fonction de catégorie multicouche en utilisant l'ascendance "J'ai essayé de créer une fenêtre avec Bootstrap 3"
Faisons une carte de Noël avec Processing!
Faites une liste de choses à faire en famille avec Sinatra
[Rails6] Créer une nouvelle application avec Rails [Débutant]
Rails Ajout d'une fonction de connexion facile et facile
Essayez d'implémenter une fonction de connexion avec Spring-Boot
Faites une liste de choses à faire en famille avec Sinatra
[docker] [nginx] Créer un ALB simple avec nginx
[Rails 5] Créer une nouvelle application avec Rails [Débutant]
Faisons un écran d'erreur avec Rails
Créez une fonction de connexion à l'aide de l'option Swift
[Rails] Implémentez la fonction d'achat de produits avec une carte de crédit enregistrée auprès de PAY.JP
Implémentation de la fonction de connexion Ruby on Rails (Session)
[Rails] rails nouveau pour créer une base de données avec PostgreSQL
Ajoutez une fonction de balise aux rails. Utilisez actes-comme-taggable-on
Essayez d'implémenter la fonction de connexion avec Spring Boot
Créez une discussion d'équipe avec Rails Action Cable
[Rails] Fonction de catégorie
[Rails] J'ai créé une fonction de brouillon en utilisant enum
Les rails suivent la fonction
Rails6 Je veux créer un tableau de valeurs avec une case à cocher
Rendre System.out Mock avec Spock Test Framework
J'ai créé un robot LINE avec Rails + heroku
Créer un site EC avec Rails 5 ⑩ ~ Créer une fonction de commande ~
J'ai fait un portfolio avec Ruby On Rails
[Rails] Fonction de notification
J'ai essayé de créer une fonction de message de l'extension Rails Tutorial (Partie 1): Créer un modèle
Exécutez Scala avec GraalVM et créez-en une image native