工厂女孩不确定的变量



我想通过course变量并创建User以确定用户应进入的课程。

这是我的工厂女孩的代码。

factory :user_with_course do
  sequence(:account){|n| "user_#{n}"}
  ignore do
    course nil
  end
  after(:create) do |user|
    create(:character, user_id: user.id, course_id: course.id) if course
    user.save
  end
end

我使用

称呼它
create_list(:user_with_course, 3, course: course)

为什么我有这个错误

undefined local variable or method `course' for #<FactoryGirl::SyntaxRunner:0x007f9348750188>

我认为ignore应该避免此问题。

根据文档,这应该有效:

  transient do
    course nil
  end
  after(:create) do |user, evaluator|
    create(:character, user_id: user.id, course_id: evaluator.course.id) if evaluator.course
    user.save
  end

最新更新