2017-06-01 7 views
0

は私が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 

は、私はignoreは、この問題を回避する必要があると思った。このエラー

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

を得たのはなぜ

create_list(:user_with_course, 3, course: course) 

を使用してそれを呼び出します。

答えて

0

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 
+0

それはおかげで、正常に動作します。 –

関連する問題