LoginSignup
0
0

More than 3 years have passed since last update.

【Rails】エラー文が出ないのに、データが保存できない

Posted at

初投稿です。間違えなどありましたら、ご指摘ください。

エラーが出ないのに、データが保存できない

個人的によく引っかかるため、投稿します。
解決の参考にしてください。

解決策

modelファイルにoptional: trueを追加(belongs_toのあと)
(デフォルトでは、references型のカラムが空で保存できないようになっているから?)

前提

taskモデル(作業)と、start_timeモデル(開始時間)を作りました。
開始時間をつけずに、作業を保存します。
ちなみに、start_timeにはtask_idが保存されるようにします

start_timeモデルのマイグレーションファイル
略
  t.references :task
略

保存できませんでした。

修正した前と後
task.rb
修正前
略
  belongs_to :start_time
略
task.rb
修正後
略
belongs_to :start_time, optional: true
略
まとめ

belongs_toで、optional: trueをつければ、空の値も保存できる。
モデルの記述ミスは見つけづらいですね。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0