外部キーにnullを入れる方法
外部キーにnullを入れる方法
1対多
の関係で、通常通り外部キーを持つレコードと外部キーを持たないレコードがある時に外部キーにnullを入れる方法を
備忘録としてこちらにまとめます。
以下のようなアソシエーション関係のモデルがあります。
[app/models/cookware.rb] class Cookware < ApplicationRecord has_many :cooking_informations end
[app/models/cook_information.rb] class CookingInformation < ApplicationRecord belongs_to :cookware, optional: true end
cook_information
のレコードには、外部キーのcookware_id
が入るレコードと入らないレコードがあります。
そんな時は、optional: true
オプションを付与することで外部キーにnullを許容することができます。