タイトルのエラーにかなりハマったのでメモを残します。
環境
rails 6.1.7
ruby 3.0.6
アソシエーション設定
bookとcategoryが1:nの関係とします。
bookが複数のcategoryを持つのでcategoryテーブルにbook_idという外部キーを設定します。
この時book_idにnot null制約をつけない場合はすこし注意が必要です。
belongs_toの方にoptional: trueを設定する必要があります。
class Book < ApplicationRecord
has_many :categories
end
class Category < ApplicationRecord
belongs_to :book, optional: true
end