【Rails】Validation failed ... must existというエラーの解決法
困ったこと
Railsにて、1対多の関係にあるUser
モデルとPost
モデルのクラスを作っていた。
すると上のようなエラーが出た。
解決法
関連付けメソッドの引数にoptional: true
を記述する。
原因
先ほど例として挙げたモデルクラスの場合、Post
テーブルの外部キーであるuser_id
というカラムは、自動でNOT NULL
になる。
そこでoptional: true
を指定し、その外部キーをnullable
にしてあげることでバリデーションに引っかからなくなる。