見出し画像

Deviseをカスタマイズして、テーブルに追加したカラムをupdateできるようにするためにしなければいけないこと @TECH CAMP #25

どうも、とだです。
プログラミングスクールは最終課題提出、会社では昇進試験、プライベートはTOEIC L&R受験と大忙しでした。疲れた…。


てな訳でしばらくお休みしてしまってました。今回も小ネタで勘弁してください。最近多いdeviseをカスタマイズするお話です。

今私はフリマアプリを製作していますが、それに限らず何かユーザー登録させるWebアプリケーションで、ユーザーに登録させたデータを変更したい、更新したいということがあると思います。そういった操作を許可するために必要なdeviseのカスタマイズについて今回はアウトプットしようと思います。

結論、以下の記述をapplication_controllerのconfigure_permitted_parametersメソッド内に以下の記述をすればOKです。

devise_parameter_sanitizer.permit(:account_update, keys:[:ここに追加したカラム名を入れる]

具体例をあげると以下のようになります。

protected

 def configure_permitted_parameters
   devise_parameter_sanitizer.permit(:sign_up, keys: [:nickname, :first_name, :last_name, :first_name_kana, :last_name_kana, :birthday])
   devise_parameter_sanitizer.permit(:account_update, keys: [:nickname, :first_name, :last_name, :first_name_kana, :last_name_kana, :birthday])
 end

サインアップ(新規登録)させるときに求めた追加のカラムと同じように、アカウント情報をアップデートさせる時に許可をさせればいいわけですね。

知らないと「なんでupdateできないんだ?」と沼にはまりやすいと思います。私がそうでした。

今回参考にした記事は下のリンク先の記事です。とても助けられました、ありがとうございます。

とりあえず今回は簡単に。書き溜めているのもあるので、近日公開したいと思います!

この記事が気に入ったらサポートをしてみませんか?