Dai

【Ruby on Rails】deviseのdevise_parameter_sanitizerメソッドを使って追加したカラムを許可する

標準のdeviseに含まれているemailとpasswordに加えてnicknameを追加する

nicknameカラムを追加する
## マイグレーションファイル
t.string :nickname, null: false  ##追加
t.string :email,              null: false, default: ""
t.string :encrypted_password, null: false, default: ""


ApplicationControllerでnicknameカラムを許可する
class ApplicationController < ActionController::Base
  ##deviseコントローラーでの処理のときのみ、configure_permitted_parametersメソッドが実行される
  before_action :configure_permitted_parameters, if: :devise_controller?

  private

  def configure_permitted_parameters
    ##sing_upのときnicknameカラムを許可
    devise_parameter_sanitizer.permit(:sign_up, keys: [:nickname])
  end
end


deviseの導入手順

mac-san.hatenablog.com

ユーザーモデルの単体テストコード

mac-san.hatenablog.com