Rspecにてテストデータ作成時に、親子関係(relation)となっているモデルの子供のデータを作成時に`undefined method relation_delegate_class'とエラーが出たが、解決に結構苦労したのでメモ
TL;DR
belong_to
のモデルが複数形になっていないか←単数形にする- それでもダメならモデル名を変更
例
テーブルはAdmin has_many Product
の関係の時に
RspecでFactoryBot.create(:product, admin_id:admin.id)
を呼び出した時に
NoMethodError: undefined method `relation_delegate_class' for Admins:Module
が発生する
その1:belong_to確認
自分の場合、原因は
belongs_to :admins
とbelongs_toのモデルが複数形になってた。
こうした時に親子関係の子供のデータを作成用しようとした時にrelation_delegate_class
がでることがあるので単数形にしてあげると解決した
belongs_to :admin
その2:モデル名変更
たまにモデル名がRailsの内部ですでに使っている場合があるみたいです。 その1で直らなかったら面倒ですが、モデルとそれを参照している箇所を変える必要がありそうです