gpt4 book ai didi

ruby-on-rails - 如何在 Factory Girl 中创建 has_and_belongs_to_many 关联

转载 作者:行者123 更新时间:2023-12-03 04:36:28 25 4
gpt4 key购买 nike

鉴于以下情况

class User < ActiveRecord::Base
has_and_belongs_to_many :companies
end

class Company < ActiveRecord::Base
has_and_belongs_to_many :users
end

如何为公司和用户定义工厂,包括双向关联?这是我的尝试

Factory.define :company do |f|
f.users{ |users| [users.association :company]}
end

Factory.define :user do |f|
f.companies{ |companies| [companies.association :user]}
end

现在我尝试

Factory :user

也许毫不奇怪,这会导致无限循环,因为工厂递归地互相使用来定义自己。

更令人惊讶的是,我没有在任何地方找到如何做到这一点的提及,是否有定义必要工厂的模式,或者我正在做一些根本错误的事情?

最佳答案

这是适合我的解决方案。

FactoryGirl.define do

factory :company do
#company attributes
end

factory :user do
companies {[FactoryGirl.create(:company)]}
#user attributes
end

end

如果您需要特定的公司,您可以通过这种方式使用工厂

company = FactoryGirl.create(:company, #{company attributes})
user = FactoryGirl.create(:user, :companies => [company])

希望这对某人有帮助。

关于ruby-on-rails - 如何在 Factory Girl 中创建 has_and_belongs_to_many 关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1484374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com