新規登録の際に名前をうち込めないエラーについて

今日もエラー似関しての備忘録を残していきます。

今回遭遇したエラーは、ツイートアプリを作成している

際に、ユーザー登録機能を実装し、テストした際に発生。

 

発生したエラー

nickname

mail

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を確認といった

認識でいいと思います。

 

また似たようなエラーに遭遇した場合は追記していきます。