我有三种模式:课程,水平和主题。课程有很多级别和科目。
如何使用回调在工厂女孩中创建课程对象而不会陷入无限循环?
factory :subject do
name "Arabic"
after_build do |subject|
subject.courses << FactoryGirl.build(
:course,
:subject => subject,
)
end
end
factory :level do
name "Level 1"
after_build do |level|
level.courses << FactoryGirl.build(
:course,
:level => level
)
end
end
factory :course do
name "Intermediate Arabic 4"
subject
level
end
使用此代码,当从级别回调构建课程时,FactoryGirl将尝试创建一个新主题,从而导致构建一个没有指定级别的新课程.....等等。
我尝试了一些事情,但我在这个方面无处可去。