工厂女孩未定义变量
Factory girl undefined variable
我想传递 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
应该可以避免这个问题。
根据 documentation,这应该有效:
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
我想传递 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
应该可以避免这个问题。
根据 documentation,这应该有效:
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