考虑以下关联:
class Blog < ApplicationRecord
belongs_to :user
belongs_to :foobar
end
class User < ApplicationRecord
has_many :blogs
end
class Foobar < ApplicationRecord
has_many :blogs
end
到目前为止,这是我的工厂:
FactoryGirl.define do
factory :blog do
user
foobar
end
end
FactoryGirl.define do
factory :user do
end
end
FactoryGirl.define do
factory :foobar do
end
end
这就是我想要做的:我想使用 create_list
创建 5 个博客
。但是:我希望所有博客
都关联到相同的user
记录和相同的foobar
记录。换句话说:我希望所有 5 个博客
都具有完全相同的user_id
和foobar_id
。
我确实浏览了 factory_girl docs 。这个具体的场景让我很困惑。
最佳答案
您应该能够像其他属性一样分配关系。例如:
user = create(:user)
foobar = create(:foobar)
blogs = create_list(:blog, 5, user: user, foobar: foobar)
关于ruby-on-rails - Factory_girl 使用#create_list,在所有创建的对象之间共享相同的关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38062726/