在FactoryBot GETTING STARTED page中,有以下代码段,其中说明了如何创建关联。
factory :post do
# ...
association :author, factory: :user, last_name: "Writely"
end
就我而言,我需要将工厂的值传递给相关的工具。
factory :post do
category: ['a','b','c'].sample
association :author, factory: :user, expertise: ??CATEGORY??
end
我尝试了几件事(主要是花括号),但似乎没有任何效果:Trait未注册:类别。
有没有办法将为帖子选择的类别传递给作者?
由于
答案 0 :(得分:1)
您可以使用after(:build)
回调:
factory :post do
category ['a','b','c'].sample
association :author, factory: :user
after(:build) do |post|
post.author.expertise = post.category
end
end