devise_parameter_sanitizerの書き方

devise_parameter_sanitizerの書き方について調べたのでまとめておきます.

devise_parameter_sanitizer.permit( ?? , keys: [:カラム名])のように書き,第一引数には:sign_in, sign_up, :account_updateのいずれかが入る. カラム名には後からusersテーブルに追加したカラム名を入れる.

また,devise_parameter_sanitizer.permit( ?? , keys: [:カラム名])はbefor_actionで指定されることがある.その際に,if: :devise_controller?が付く事がある. これは,deviseを生成したときにできるヘルパーメソッドの1つで,deviseにまつわる画面に行ったときにという意味がある.

以下に書き方を示す.

  before_action :configure_permitted_parameters, if: :devise_controller?

  def configure_permitted_parameters
    devise_parameter_sanitizer.permit(:sign_up, keys: [:username])
  end
end

qiita.com

qiita.com