2016-01-27 80 views
1
factory :account do 
end 

factory :user do 
    account 
end 

factory :user2 do 
    account 
end 


factory :location do 
    // how to add to the users has_many collection? 
end 

我的位置模型有一個has_many :users關聯,如何將用戶和用戶2添加到我的工廠中的集合中?與工廠女孩有很多關聯

另外,當建立一個對象圖時,應該使用factory_girl來創建一個Account,但用戶不是實際建立兩者之間的關係?我應該在我的測試或某種幫手中自己做這件事嗎? 因爲說我想創建帳戶1和帳戶2,並且每個帳戶都有一個位置。我必須在我的測試中自己構建這個對象圖,然後呢?

回答

2

您必須使用after回調:

factory :location do 
    after(:create) do |location, evaluator| 
    create(:user, location: location) 
    create(:user2, location: location) 
    end 
end 

documentation

1

您可以創建2個用戶在一次:

factory :location do 
    after(:create) do |location| 
    create_list(:user, 2, location: location) 
    end 
end