気軽に楽しくプログラムと遊ぶ

自分が興味があってためになるかもって思う情報を提供しています。

Rails プロゲートの上級1章(deviseを準備しよう)

今回はプロゲートの上級1章、「deviseを準備しよう」をやっていきます。

ログイン機能を追加する

ログイン機能を提供する便利なgem「devise」がある。

以下のような機能を提供する。

  • ログイン・ログアウト機能
  • ユーザー登録機能
  • FacebookTwitterログイン機能
  • パスワード忘れた場合のリセット機能

deviseをインストール

Gemfile

source 'https://rubygems.org'

gem 'devise', '3.5.1'

以下を実行する。

$ bundle install
$ rails g devise:install

Userモデルにログイン機能をつける

$ rails g devise User

user.rbとroutes.rbに変更が追加され、migrationファイルも追加される。

user.rbにdeviseの機能が追加される。(必要な機能のみを設定する)

class User < ActiveRecord::Base
  devise :database_authenticatable, :registerable, :recoverable, :rememberable,
         :trackable, :validatable
end

deviseの機能

機能を表すシンボル 説明
database_authenticatable ログイン機能
registerable ユーザー登録機能
recoverable パスワード忘れたときのリセット機能
rememberable ログイン状態保持機能
trackable 最終ログイン時間等を記録できる機能
validatable ユーザー登録時のバリデーション機能

他にもsign_up,sign_inの画面も自動生成される。