2

我有三个模型:课程、级别和主题。一门课程有许多级别和科目。

如何使用回调在工厂女孩中创建课程对象而不会陷入无限循环?

工厂.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 将在从级别回调构建课程时尝试创建一个新主题,从而导致构建一个没有指定级别的新课程......等等。

我已经尝试了几件事,但我无处可去。

4

0 回答 0