✂︎美容師からエンジニアまでの奮闘記💻

これからエンジニア目指す人達の第一歩になれるように🌟

deviseで追加カラムを設定した話

こんにちは!今日は久々のアウトプットタイムです!

テックキャンプでは残り19日となりました!

個人アプリ開発コツコツ進めています☺️

 

それでは今回はdeviseを使ったユーザー管理の実装中にハマったエラーをお話したいと思います。

 

ログイン機能を実装したく無事deviseのインストールをし、バリデーションの設定をしました。

app/models/user.rb

validates :nickname, presence: true

 

追加でnicknameカラムを追加していたので、そちらのバリデーションも設定。

 

そして投稿フォームを入力して送信すると「nicknameが空なので登録できません」

と言うエラーメッセージが表示。

ここで言うエラー文とはrailsのエラーでは無く、個人で設定したエラーテンプレートの事です。

 

nickname欄を埋めても空という表示なので、上手く表示がされていないことに気がつきました。

そこで思い出しました。 追加カラムのストロングパラメータ設定していなかった、

app/controllers/application_controller

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

こちらで新規登録の際にnicknameカラムの保存を許可します

 

before_action :configure_permitted_parameters, if: :devise_controller?

そしてこちらでdeviseのコントローラーが動いた際にアクションが動くように

設定してあげるとOK!!

 

これで無事ユーザー登録が完了できました!

 

deviseは本当に優秀なので全てを任せてしまいますが、中での処理を理解することは

やっぱり大切だなと実感しました泣

 

これからも目標に向かい積み上げていきます!