【问题标题】:has_many associative table methods in rails. How do I retrieve data from the association table?rails 中的 has_many 关联表方法。如何从关联表中检索数据?
【发布时间】:2011-12-11 18:10:05
【问题描述】:

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

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 列如何或为什么没有加入到用户对象中。非常感谢有关此主题的任何帮助。

【问题讨论】:

    标签: ruby ruby-on-rails-3 join models


    【解决方案1】:

    由于用户仅通过成员资格连接到团队,您需要的代码不只是 Team.memberships.map(&amp;:permissions) 吗?

    【讨论】:

      猜你喜欢
      • 2016-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多