我正在创建一个应用程序,允许用户创建团队,然后向其添加成员。
class User < ActiveRecord::Base
has_many :memberships
has_many :teams, :through => :memberships
end
class Team < ActiveRecord::Base
has_many :memberships
has_many :users, :through => :memberships
end
class Membership < ActiveRecord::Base
belongs_to :team
belongs_to :user
end
Membership表包含ID,TEAM_ID,USER_ID,PERMISSIONS
我现在可以访问Team.users和Team.memberships,但我希望我需要做的是将它们组合在一起,这样我就可以像这样访问用户的权限列:
Team.users.membership.permissions
OR
Team.users.permissions
但即使我认为有一个简单的答案,我也无法理解。用户和成员之间的has_many关联有效,因为我可以使用Team.users访问团队中的用户。但我不明白如何或为什么来自Membership的Permissions列也没有加入到用户对象中。非常感谢您对此主题的任何帮助。
答案 0 :(得分:2)
由于用户仅通过会员资格与团队建立联系,因此不仅仅是Team.memberships.map(&:permissions)
您需要的代码吗?