新規登録の際に名前をうち込めないエラーについて
今日もエラー似関しての備忘録を残していきます。
今回遭遇したエラーは、ツイートアプリを作成している
際に、ユーザー登録機能を実装し、テストした際に発生。
発生したエラー
nickname
password
をそれぞれ入力した際にnicknameに入力できず、入力フォーム上部に
何も記入していない状態では保存できません。といった内容の
エラー文が記載されている。
推測
入力→保存の間で
1 値がない
2 単純に記載ミス
3 ユーザ管理機能の不具合
復習
ユーザー管理機能実装の簡単な流れ
1 Gem deviceのインストール
2 devise設定ファイル作成
3 モデル作成
4 ボタンの表示を変える
5 コントローラーにリダイレクトを設定
6 テーブルにカラムを追加
7 ビュー作成
8ストロングパラメーターの設定
9 application_controller.rbの編集
推測2
他の項目は入力できていることから7までは
問題ないと推測
application_controller.rbが編集されていることから
8もクリア
以上のことから9の編集内容に問題があるのでは
と仮定し、原因を探す
原因
application_controller.rbの
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up, keys: [:name])
end
この文のkeys:{:name}←カラム名が:nameになっています。
解決方法
name → nickname に修正
エラーは解消されました。
今回は長々と復習の意味合いも含め、全体的に見直しましたが
他の値が入力できている時点で、
入力→保存の動作不良=application_controller.rbを確認といった
認識でいいと思います。
また似たようなエラーに遭遇した場合は追記していきます。