簡體   English   中英

factory_girl 中的 has_many 和 belongs_to 關聯

[英]has_many and belongs_to associations in factory_girl

我有這些模型,我正在嘗試創建使用 factory_girl 的工廠。

class Foo < ActiveRecord::Base
  belongs_to :baz
end

class Baz < ActiveRecord::Base
  has_many :foos
end

我不確定如何創建工廠而不創建工廠無休止地相互調用的循環。

Factory.define :foo do |f|
  f.after_create do |ff|
    ff.baz = Factory(:baz)
  end
end

Factory.define :baz do |f|
  f.after_create do |ff|
    ff.foos = [Factory.create(:foo)]
  end
end

我意識到我可以在baz工廠中ff.foos = [Factory.create(:foo)] ,但是在我的baz測試中,我被迫使用foo.baz而不是只使用baz 在我的測試中,我是否被迫通過將它從foo工廠取出來使用baz object? 或者,還有更好的方法?

請參閱 入門指南關聯部分

添加

因此,您需要使用該部分中的語法,即。 在您的Foo聲明中,您需要:

Factory.define :foo do |f|
  f.association :baz
end

belongs_to關聯不需要after_create

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM