基本上:
- 我有一个
Structure
模型有很多Subjects
. - 每个主题都有一个父对象,它可以是 2 个级别的深度。
- A
Structure
必须有一个位于深度 0 的主题和一个位于深度 2 的主题。
问题:
- 我不知道如何构建我的主题工厂以及如何在结构工厂中建立关联。
我在 Rails 4、factory_girl_rails 4.2.1 和 Ruby 2.0.0
这是我为主题工厂尝试的:
factory :subject_grand_parent do |f|
name Forgery(:name).company_name
factory :subject_parent do |s|
f.parent { Factory.create(:subject_grand_parent) }
factory :subject do |s|
f.parent { Factory.create(:subject_parent) }
end
end
end
但我不能定义父母两次。
在Structure
工厂里,我不确定如何为我的关联定义多个主题。这是我现在拥有的:
factory :structure do
subjects {|structure| [structure.association(:subject)] }
...
end
提前致谢