Ruby on rails 将现有模型与FactoryGirl关联一起使用

Ruby on rails 将现有模型与FactoryGirl关联一起使用,ruby-on-rails,ruby,activerecord,factory-bot,factory,Ruby On Rails,Ruby,Activerecord,Factory Bot,Factory,我用FactoryGirl设置了一些模型,我想在它们之间建立关联。特定型号上的association关键字非常有用!然而,我不想创建新的模型,我认为这就是association关键字所做的。我希望与特定模型的已创建实例关联,或者可以选择轻松关联。我知道有一个代码气味在这里的某个地方与所有这些设置,但下面是一个例子 obj1 = create(:thing_one) obj2 = create(:thing_two, :with_thing_one) 这将是我现在正在做的设置(但有一些模型和关联

我用FactoryGirl设置了一些模型,我想在它们之间建立关联。特定型号上的association关键字非常有用!然而,我不想创建新的模型,我认为这就是association关键字所做的。我希望与特定模型的已创建实例关联,或者可以选择轻松关联。我知道有一个代码气味在这里的某个地方与所有这些设置,但下面是一个例子

obj1 = create(:thing_one)
obj2 = create(:thing_two, :with_thing_one)
这将是我现在正在做的设置(但有一些模型和关联,而不仅仅是两个),并且数据库中没有正确关联obj2和obj1对象。如果我做了类似的事情

obj1 = create(:thing_one)
obj2 = create(:thing_two, thing_one: obj1)
它会正确地将一切联系起来

问题是,这让我觉得,如果我只需要自己设置所有东西,那么使用这些工厂的工作量似乎比实际价值要大。为什么我不直接使用ActiveRecord并手动设置这些对象呢

编辑:

可能出现的另一种情况如下:

obj1 = create(:object)
obj2 = create(:object_two, needed_object: obj1)
# obj3 is dependent on obj2 being created which is dependent on obj1
obj3 = create(:object_three, needed_object_two: obj2)
FactoryGirl包括您可以非常轻松地使用现有工厂。下面的示例假设您有属于某个客户的订单

FactoryGirl.define do 
  factory :order do
    association :customer, factory: :customer
  end
end

对,对不起,我想我需要澄清一下。我编辑了这个问题,但我一直看到的主要问题是,对于多个不同工厂的任何关联,我都需要特定的模型,这种依赖性给我带来了问题。让我知道这是否有意义,谢谢你的回答!