2011-09-14 34 views
0

以下是model user和user_level的定義。用戶具有許多用戶級別,並且用戶級別屬於用戶。如何爲factory_girl中的同一父記錄生成多個asscoated記錄?

Factory.define :user do |user| 

    user.name     "Test User" 
    user.email     "[email protected]" 
    user.password    "password1" 
    user.password_confirmation "password1" 
    user.status    "active" 
    user.user_type    "employee" 

end 

Factory.define :user_level do |level| 

    level.role     "sales" 
    level.position    "member" 
    level.team     1 
    level.association   :user 
end 

@user_level =廠(:user_level)生成一個user_level記錄和在用戶表其父記錄。如果我需要爲一個父用戶記錄生成2個用戶級別記錄,該怎麼辦?

有什麼想法?謝謝。

回答

0

您可以先指定用戶,然後通過同一個用戶到每個工廠建立來電:

@user = Factory(:user) 
@user_level = Factory(:user_level, :user => @user) 
@user_level2 = Factory(:user_level, :user => @user) 

做一個快速完整性檢查,做一個斷言equalconfirms it's the same object

@user_level.user.should equal @user_level2.user 
+0

有用。謝謝。 – user938363

相關問題