我重构规范以支持将字符串迁移到新表中的外键。
问题有一个字符串,类型,现在是一个新表:question_types。工厂配置为使用随机字符串作为类型的值。如何更新它以便有5种有效类型可以根据需要分配?
我尝试做的是用
更新问题工厂## questions.rb
factory.define do
before(:create) do
FactoryGirl.create(:question_types) if QuestionType.all.empty?
end
# ...more factory
end
## question_types.rb
FactoryGirl :question do
factory :question_type do
category 'multiple_choice'
end
factory :question_types do
[
{ label: 'Single Choice', category: 'single_choice' },
{ label: 'Multiple Choice', category: 'multiple_choice' },
# ... more types here
].each do |h|
FactoryGirl.create(:question_type, h)
end
end
end
但是当我运行规范时,问题类型的值总是为零。
答案 0 :(得分:0)
您可以在工厂定义中使用样本:
question_type { Question.all.types.sample }