具有多个has_many关系的FactoryGirl回调

时间:2012-04-30 14:22:37

标签: ruby-on-rails ruby factory-bot infinite-loop

我有三种模式:课程,水平和主题。课程有很多级别和科目。

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

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

我尝试了一些事情,但我在这个方面无处可去。

0 个答案:

没有答案