Course、Level、Subjectの3つのモデルがあります。コースには多くのレベルと科目があります。
無限ループに陥ることなく、コールバックを使用して factory girl でコース オブジェクトを作成するにはどうすればよいですか?
factory.rb
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 は、コースがレベル コールバックから構築されているときに新しい科目を作成しようとします。これにより、レベルが指定されていない新しいコースが構築されます...など。
私はいくつかのことを試しましたが、これについてはどこにも行きません。