[RUBY] (Pour les débutants) [Rails] Installer Devise

introduction

salut! C'est Yori-goreng qui apprend Rails: sunny: Dans cet article, nous présenterons l'introduction de devise, qui contrôle la fonction de connexion, et les autorisations des utilisateurs: détendu:

Si vous souhaitez en savoir plus, consultez les articles de référence suivants.

--Article de référence

https://qiita.com/cigalecigales/items/f4274088f20832252374

https://qiita.com/tobita0000/items/866de191635e6d74e392

environnement

Qu'est-ce que la conception

L'un des joyaux de Ruby, «devise», facilite la mise en œuvre de la fonctionnalité de connexion.

1. [Préparation de la demande]

1.1. Création d'applications

Créez une application avec rails new app name. Pour l'instant, appelons-le devise_test.

rails new devise_test
cd devise_test

1.2. Création de DB

rails db:create

2. [Préparation du projet]

2.1. Installation de gem

Ajoutez la gemme de devise à gemfile

gem 'devise'

Installez gem.

bundle install

2.2. Créer des fichiers liés à la conception

rails g devise:install

Si vous voyez une longue phrase comme celle ci-dessous dans votre terminal, vous avez réussi.

===============================================================================

Some setup you must do manually if you haven't yet:

  1.Ensure you have defined default url options in your environments files. Here
     is an example of default_url_options appropriate for a development environment
     in config/environments/development.rb:

       config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }

     In production, :host should be set to the actual host of your application.

  2. Ensure you have defined root_url to *something* in your config/routes.rb.
     For example:

       root to: "home#index"

  3. Ensure you have flash messages in app/views/layouts/application.html.erb.
     For example:

       <p class="notice"><%= notice %></p>
       <p class="alert"><%= alert %></p>

  4.You can copy Devise views (for customization) to your app by running:

       rails g devise:views

===============================================================================

2.3. Modélisation

Créez un modèle utilisateur avec la commande suivante.

rails g devise user

L'exécution d'une migration à ce stade complète une simple page de connexion.

rails db:migrate
rails s

Après rails s, ouvrez la page de connexion à l'adresse http: // localhost: 3000 / users / sign_in.

スクリーンショット 2020-06-15 12.02.35.png

2.4. before_action :authenticate_user! Si vous écrivez before_action: authenticate_user! Dans le contrôleur, le traitement effectué ici ne peut être exécuté que par l'utilisateur connecté. Par exemple, créez un contrôleur Homes.

rails g controller homes index

Ajoutez before_action: authenticate_user! Au homes_controller.rb créé.

app/controllers/home_controller.rb


class HomesController < ApplicationController
  before_action :authenticate_user!
  def index
  end
end

Cela permet uniquement à l'utilisateur connecté de voir l'affichage de la liste par l'action d'indexation.

Recommended Posts

(Pour les débutants) [Rails] Installer Devise
[Rails] concevoir
[Rails] Présentation du dispositif
Rails [Pour les débutants] Implémentation de la fonction de commentaire
Explication de Ruby sur rails pour les débutants ①
(Pour les débutants) [Rails] Technologie de gain de temps! Comment installer et utiliser Slim
Utilisez [Rails] pour concevoir la fonction utilisateur invité (pour le portefeuille)
[Pour les débutants] Testez l'enregistrement des utilisateurs avec RSpec
[Pour les débutants] Procédure de création d'un contrôleur à l'aide de rails
[Rails] conçoit une méthode d'aide
[Rails] Personnaliser la validation de l'appareil
[Rails pour débutants] Spécifiez la destination de la transition après vous être connecté à plusieurs modèles Devise
Erreur d'installation de Mac Rails
Manipuler le dispositif avec des rails
[Rails] conçoit une méthode d'introduction
[rails] concevoir les valeurs par défaut
À propos du traitement du crud et des produits utilisant un appareil (pour les débutants)
[Pour les débutants de Rails] Implémentation de la fonction de recherche multiple sans Gem
Explication de Ruby sur rails pour les débutants ⑥ ~ Création de validation ~
Explication de Ruby on rails pour les débutants ② ~ Création de liens ~
Explication de Ruby on rails pour les débutants ⑦ ~ Implémentation Flash ~
[Rails] Introduction aux principes de base du dispositif
Tutoriel pour créer un blog avec Rails pour les débutants Partie 1
Qu'est-ce que Rails Gem Concevoir?
Les débutants installent Docker pour Mac et préparent l'environnement d'exploitation php7.0
liste de commandes docker-compose (pour Rails)
[Rails] Flux lors de l'installation du dispositif de gemmes
[Rails] Solution de contournement pour les classes générées automatiquement avec des messages d'erreur de conception
Exécution de débogage Java [pour les débutants Java]
[Java] Instruction de base pour les débutants
Installez le dernier git pour Debian10
[Procédure 1 pour les débutants] Ruby on Rails: Construction d'un environnement de développement
[Pour les super débutants] Super introduction à DBUnit
[Pour les super débutants] Ant super introduction
Installer Rails sur macOS Catalina
Plus utilisable Enumerable pour les débutants
[Rails] Ajouter une colonne à concevoir
Java pour les débutants, masquage des données
Super facile en 2 étapes! Comment installer la devise! !! (version rails 5)
Explication de Ruby on rails pour les débutants ③ ~ Création d'une base de données ~
Tutoriel pour créer un blog avec Rails pour les débutants Partie 2
Installer docker, docker-compose pour debin10
[Rails] Comment installer simple_calendar
[Rails] Comment installer reCAPTCHA
[Pour les super débutants] Super introduction à Maven
[rails] erreur lors de l'installation du périphérique
Application Java pour les débutants: stream
Tutoriel pour créer un blog avec Rails pour les débutants Partie 0
[R Spec on Rails] Comment écrire du code de test pour les débutants par les débutants