如何在Factory girl序列中创建belongs_to关系

时间:2012-07-17 20:45:37

标签: ruby-on-rails-3 rspec factory-bot

我有一个Quiz模型,它属于一个Icon,一个Icon has_many Quizzes。

在工厂女孩创建测验我有一个序列。

factory :quiz do
  sequence(:title) { |n| "Quiz #{n} Title" }
  sequence(:description) { Faker::Lorem.paragraph(sentence_count = 3) }
end

由于添加了Icon关系,所有测试都失败了,因为工厂里没有生成quiz_id。

我还有一个图标序列

  factory :icon do
    sequence(:title) { |n| "Icon #{n}" }
    sequence(:image) { fixture_file_upload(Rails.root + 'spec/fixtures/images/love.png', 'image/png') }
  end

如何正确地向我的测验工厂添加icon_id?

2 个答案:

答案 0 :(得分:1)

factory :quiz do
  icon # or association(:icon) will also work
  sequence(:title) { |n| "Quiz #{n} Title" }
  sequence(:description) { Faker::Lorem.paragraph(sentence_count = 3) }
end

答案 1 :(得分:0)

我解决了......如果有人有同样的问题。将以下内容添加到测验工厂完成了这项工作。最后显而易见!

sequence(:icon) { FactoryGirl.create(:icon) }