【Rails】deviseを使用した簡単なログイン機能まとめ


はじめに

学習中の備忘録です。

概要

新規アプリ作成の際にdeviseのコマンドなど忘れるのでまとめ。

  • 導入
  • devise設定ファイル作成
  • モデル作成
  • ビューファイル作成
  • deviseによって設定されるPrefixの一部

前提

rails 5.2.3

導入

gemファイルに追記

Gemfile
gem 'devise'

インストール

ターミナル
$ bundle install

サーバー再起動

ターミナル
$ rails s

deviseの設定ファイルを作成

ターミナル
$ rails g devise:install

新規作成されるファイル

  • config/initializers/devise.rb
  • config/locales/devise.en.yml

モデル作成

ターミナル
$ rails g devise user

新規作成されるファイル

  • app/models/user.rb
  • db/migrate/20XXXXXXXXXXXX_devise_create_users.rb
  • test/fixtures/users.yml
  • test/models/user_test.rb

また、config/routes.rbに以下の様な記述が自動的に追記されます。

【例】config/routes.rb
Rails.application.routes.draw do
  devise_for :users
#以下略

devise_for :usersの記述により、ログイン・新規登録で必要なルーティングが生成されます。

作成されたmigrationファイルを実行

ターミナル
$ rails db:migrate

ビューファイル作成

ターミナル
$ rails g devise:views

新規作成されるファイル

  • app/views/devise以下のディレクトリにあるビューファイル各種

deviseによって設定されるPrefixの一部

リクエスト Prefix パス
devise/sessions#new new_user_session /users/sign_in
devise/registrations#new new_user_registration /users/sign_up
devise/sessions#destroy destroy_user_session /users/sign_out

あとは好きな場所に上記のリンクをはれば完成です。

まとめ

ユーザー情報の編集などは必要に応じて追記するかもです。