class Task < ApplicationRecord
has_many :user
end
class User < ApplicationRecord
belongs_to :task, optional: true
end
このoptional: trueとは何なのか?
これはbelongs_toの外部キーのnilを許可するというもの!
上記のコードであれば、User.task_idが外部キーとなり、値がセットされていない場合はバリデーションで弾かれるが、optional: trueを設定しておくと、外部キーがnilであってもDBに保存できる!