結論
ストロングパラメーターを処理ごとに記述する
application_controller.rb
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up, keys: [:username])
end
他のタイミング
・sign_in デフォルトでemailなどの認証キーを許可(Devise::SessionsController#create)
・sign_up デフォルトでemailなどの認証キーとパスワードとパスワード(確認用)を許可(Devise::RegistrationsController#create)
・account_update デフォルトでemailなどの認証キーと現在のパスワード、新しいパスワードと新しいパスワード(確認用)を許可(Devise::RegistrationsController#update)
同時に指定する
方法1
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up, keys: [:username])
devise_parameter_sanitizer.permit(:account_update, keys: [:username, :useraddress])
end
方法2
def configure_permitted_parameters
keys = {sign_up: [:username], account_update: [:username, :useraddress] }
keys.each_pair do |action, key|
devise_parameter_sanitizer.permit(action, keys: key)
end
end
コメントを残す