2012-08-31 3 views
3

세 모델 User, TeamMembership이 있습니다. Membership 모델에는 현재 팀의 사용자 역할을 저장하는 field, role이 있습니다.has_many에 대한 열 포함

팀에 많은 사용자가 있고 팀을 나열하고 팀의 사용자 역할을 표시 할 때 물론 내 쿼리 수가 폭발합니다.

모든 팀 사용자를로드하고 멤버십 모델의 역할 열을 포함하는 방법이 있습니까?

User 
has_many :memberships, dependent: :destroy 
has_many :teams,  through: :memberships 

Team 
has_many :memberships, dependent: :destroy 
has_many :users,  through: :memberships 

Membership 
belongs_to :user 
belongs_to :team 

답변

5

나는이

team = Team.first #for example 
users = team.users.select("*, memberships.role AS role") 

는 각각의 사용자 역할

users.first.role 
+0

최고를 얻을 것이다 작동 보라! 그것은 매력처럼 작동합니다. – sandelius

관련 문제