ActiveRecord::NotNullViolationt
ActiveRecord::NotNullViolationt
...postal_code doesn’t have a default value...
今度はこんなエラーが。
つまり"postal_code"がnull(空)で登録されようとしてることでのエラー。
原因は
1、カラム名の間違い
2、ストロングパラメーターに入ってない
3、(今回はformオブジェクトだったので)modelファイルにattr_accessor で値を設定してない
4、同じmodelファイルに作ったsaveメソッドにデータを保存する処理が記述されていない
と思い確認してみるとずべて問題なかった。
ふと思い出し、ターミナルでも確認してみると
Unpermitted parameters: :hoge, :postal-code, :building
問題あった。
ここでは本来"postal_code"のはずなのにアンダーバーがハイフンになっていた。
調査の結果、下記のtext_field の名称に誤りがあった。
<%= f.text_field 'postal-code', class:"input-default", id:"postal-code", placeholder:"例)123-4567", maxlength:"8" %>
ほんと、アンダーバーとハイフンは間違えやすいので気をつけよう。
ということでもし
ActiveRecord::NotNullViolationt
..~ doesn’t have a default value...
のようなエラーが起きたら
1、カラム名の間違い
2、ストロングパラメーターに入ってない
3、(今回はformオブジェクトだったので)modelファイルにattr_accessor で値を設定してない
4、同じmodelファイルに作ったsaveメソッドにデータを保存する処理が記述されていない
5、ヘルパーメソッド内ののtext_field の値が間違っている
と調べていこう。