我想通过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