devise導入の基礎的なフローについての備忘録です。
導入手順
Gemのインストール
gemfile
gem 'devise'
deviseの設定ファイルを作成
% rails g devise:install
deviseコマンドでモデルを作成
% rails g devise モデル名
deviseのビューファイル作成
% rails g devise:views
データベースにカラムを追加する場合
% rails g migration Addアッパーキャメルでカラム名Toファイル名 カラム名:データ型
deviseで追加したカラムに値を保存する処理
deviseの処理を行うコントローラーはGem内に記述されているため、編集ができない。
よって、deviseのコントローラーにストロングパラメーターを反映するために、全コントローラーの共通処理ができるapplication_controller.rbにdeviseのストロングパラメーターを定義する。
application_controller.rb
class ApplicationController < ActionController::Base
# if: :devise_controller?でdeviseに関する処理コントローラーの処理であればメソッドを呼び出す
before_action :configure_permitted_parameters, if: :devise_controller?
private
def configure_permitted_parameters #メソッド名は慣習
#deviseのUserモデルにパラメーターを許可
devise_parameter_sanitizer.permit(:deviseの処理名【sign_up等】, keys: [:許可するカラム名【nickname等】])
end
end