【Rails】devise - モジュールの追加方法
経緯
・アカウント作成機能・ログイン機能の実装のまとめ・整理・備忘録
内容
Ruby on Railsのgem 'devise'
の
モジュール追加の方法
deviseのモジュール
deviseのモジュールの使用方法
前準備
deviseの前準備が完了済みとします
migrationファイルで使用するモジュールのコメントアウトを解除
$ rails g devise User
を実行したときに作成されるmigrationファイルdb/migrate/yyyymmddhhmmdd_devise_create_users.rb
で
使用するモジュールのコメントアウトを解除
: confirmableモジュールを使いたいのでコメントアウト解除
class DeviseCreateUsers < ActiveRecord::Migration[6.0] def change create_table :users, id: false do |t| t.string :id, limit: 36, null: false, primary_key: true ## Database authenticatable t.string :email, null: false, default: "" t.string :encrypted_password, null: false, default: "" ## Recoverable t.string :reset_password_token t.datetime :reset_password_sent_at ## Rememberable t.datetime :remember_created_at ## Trackable # t.integer :sign_in_count, default: 0, null: false # t.datetime :current_sign_in_at # t.datetime :last_sign_in_at # t.inet :current_sign_in_ip # t.inet :last_sign_in_ip # Confirmable # コメントアウト解除 + t.string :confirmation_token + t.datetime :confirmed_at + t.datetime :confirmation_sent_at + t.string :unconfirmed_email # Only if using reconfirmable
rails db:migrate
$ rails db:migrate
deviseのモデルにモジュールを追記
migrationファイルでコメントアウトして
使用するとしたモジュールを
deviseのモデルに追記します
例としてconfirmableのモジュールを追加する場合
class User < ApplicationRecord - devise :database_authenticatable, :registerable, - :recoverable, :rememberable, :validatable, :confirmable + devise :database_authenticatable, :registerable, + :recoverable, :rememberable, :validatable, :confirmable end