タイトルだけだと何いってんだか全然わからんですね笑
ちょっと困ってます。
例えばこんなModelがあったとして
app/models/Employee.rb
class Employee < ActiveRecord::Base # 上司 belongs_to :boss, foreign_key: 'fk_employee_to_boss', optional: true end
※つまりは自己結合
Active Record の関連付け (アソシエーション) | Rails ガイド
FactoryBotでこんなデータを作成し
spec/factories/Employees.rb
FactoryBot.define do factory :boss, class: User do name { "上司太郎" } end factory :user, class: User do name { "部下太郎" } association :boss, factory: :boss, strategy: :create end end
テストケースで呼び出した場合
it "hogehoge test" do # ・・・ @user = create(:user) # ・・・ end
下記のようなエラーが出てしまう
Failures: 1) Hoges::HogeHogeController hogehoge test Failure/Error: @user = create(:user) ActiveModel::MissingAttributeError: can't write unknown attribute `fk_employee_to_boss`
一応、modelのforeign_keyを取ってしまえば、FactoryBotも正常に動作するで、一旦それで対応・・・。
app/models/Employee.rb
class Employee < ActiveRecord::Base # 上司 belongs_to :boss, optional: true end