Step1 マイグレーションファイルにカラムを追加する
Step2 application.controllerを編集する
class ApplicationController < ActionController::Base before_action :configure_permitted_parameters, if: :devise_controller? protected def configure_permitted_parameters devise_parameter_sanitizer.permit(:sign_up, keys: [:nickname]) end end
configure_permitted_parametersとは
公式ドキュメントで使用されているメソッド名。
別の名前でも問題なく動作する。
カラムの追加について
devise_parameter_sanitizer.permit(:sign_up, keys: [:nickname, :profile, :age])
nickname、profileのように、追加したカラムをここに記述すればOK。
if: :devise_controller?はなぜ必要か
この記述が無いと、すべてのコントローラーのアクションで呼び出されることになる。
トップページを開くだけでも「nicknameのキーが...云々」という処理が行われるため、エラーが発生してしまう。