我正在创建一个应用程序,允许用户创建团队,然后向他们添加成员。

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

要么

Team.users.permissions

但即使我认为有一个简单的答案,我也无法弄明白。 用户和成员之间的has_many关联有效,因为我可以使用Team.users访问团队中的用户。 但我不明白如何或为什么来自Membership的Permissions列也没有加入到用户对象中。 非常感谢有关此主题的任何帮助。

===============>>#1 票数:2

由于用户仅通过成员身份连接到团队,因此您需要的代码不仅仅是Team.memberships.map(&:permissions)吗?

  ask by user1092493 translate from so

未解决问题?本站智能推荐:

关注微信公众号