2011-09-14 1 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 = Factory (: user_level)은 user_level 레코드와 그 부모 레코드를 users 테이블에 생성합니다. 하나의 상위 사용자 레코드에 대해 2 개의 사용자 레벨 레코드를 생성해야하는 경우 어떻게해야합니까?

의견이 있으십니까? 감사.

먼저 사용자를 지정하고 각 공장에 동일한 사용자가 호출을 만들 전달할 수 있습니다

답변

0

: 어설 equal (confirms it's the same object)

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

를 수행

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

가 빠른 상태 검사를 수행하기를 그것은 작동합니다. 감사. – user938363