鉴于以下内容
class User < ActiveRecord::Base
has_and_belongs_to_many :companies
end
class Company < ActiveRecord::Base
has_and_belongs_to_many :users
end
Run Code Online (Sandbox Code Playgroud)
您如何为公司和用户定义工厂,包括双向关联?这是我的尝试
Factory.define :company do |f|
f.users{ |users| [users.association :company]}
end
Factory.define :user do |f|
f.companies{ |companies| [companies.association :user]}
end
Run Code Online (Sandbox Code Playgroud)
现在我试试
Factory :user
Run Code Online (Sandbox Code Playgroud)
也许不出所料,这会导致无限循环,因为工厂递归地使用彼此来定义自己.
更令人惊讶的是,我没有提到如何在任何地方做到这一点,是否有一种模式来定义必要的工厂或我做了一些从根本上错误的事情?
ruby-on-rails associations has-and-belongs-to-many factory-bot