チーム開発の新規ユーザー登録を実装中に陥った事例…あまり起こることはないと思うのですが、万が一のために!
#前提として
通常であれば、deviseを使用してuser登録を実装する場合のparameterはdeviseがデフォルトを持っているためapplication.controller.rbには以下の記述をすれば良いと思います。
application.contoller.rb
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
しかし、今回deviseで作成はしたもののテーブル名をcreate_userにしてしまっている!
これではdeviseのデフォルト設定のままではでたを受け取ることができない為、こちらでparameterのformを修正してあげなければダメ!となりました!
application.controller.rb
class ApplicationController < ActionController::Base
before_action :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up) do |user_params|
user_params.permit(:nickname, :email, :password, :password_confirmation)
end
end
end
こちらで無事、保存できるようになりました!
あまり起こる事例ではないと思いますが良い経験をしたなと!