0
我有三种型号:用户,产品和所有权。所有权属于用户和产品。产品和用户有很多所有权。改进相关型号的工厂
我创建了FactoryGirl宝石以下工厂:
factory :user do
sequence(:name) { |n| "Robot #{n}" }
sequence(:email) { |n| "numero#{n}@robots.com"}
association :location, factory: :location
end
factory :product do
sequence(:name) { |n| "Objet #{n}" }
association :location, factory: :location
end
factory :ownership do
association :user, factory: :user
association :product, factory: :product
end
我用它这样的:
let(:user) { FactoryGirl.create(:user) }
let(:product) { FactoryGirl.create(:product) }
let(:ownership) { FactoryGirl.create(:current_ownership, user: user, product: product) }
但我想提高我的工厂,为了做到这一点:
let(:user) { FactoryGirl.create(:user) }
let(:product) { FactoryGirl.create(:product, owner: user) }
你有任何ide一个如何做到这一点?
谢谢!这是'之前:创造'还是'之后:创造'?什么是“ev”? –
是的,我的错误,在你的情况下,它应该是'后:创造'。我在答案中纠正了它。 ev(回调的第二个参数)是工厂女孩传递回调的评估对象。它使您可以访问忽略的属性。 – jurglic