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

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

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

3回复

了解Rails中的关联3

似乎我需要重新审视我的关联。 目前,我正在尝试将所有具有部门名称的职位显示为职员。 目前存在两种模式,职位和部门 所以我想显示所有具有部门名称职员的职位 为此,我将其放在控制器中 在我看来,我试图像这样显示所有这些帖子 尽管我有3个名称为“ Staff”的帖
1回复

为具有关联的对象创建表单

我有两个模型:project和todo。 项目有很多待办事项。 所以我想创建一个表单,从组合框中选择项目类别,然后在其中添加一个待办事项。 例如:我有以下类别:家庭,工作,学习。 在组合框中的表单中,我选择“学习”,然后在文本字段中拼写一个“星期一做家庭作业”之类的待办事项,
1回复

从现有表创建模型后,Rails表不存在

我有一个名为boss_name的现有表,我想为其创建一个Rails模型。 我使用“ rails generate bossname”创建了模型,并在类内部添加了self.table_name =“ boss_name”。 成功生成模型后,我尝试启动Rails控制台并尝试查询表。
2回复

回滚所有rails迁移或删除表并修改迁移(从头开始)

我是Rails的新手,并开始了一个项目,我对我的模型和数据库模式不满意。 我想从头开始,但保留我的所有观点,控制器。 这样做的最佳方法是什么? 我想删除所有迁移和所有模型。 此过程后应该没有不相关的文件(比如不再使用的迁移)。 如果它有帮助,我正在使用Rails 3.1
2回复

我的模型中未显示ruby on rails id

我正在尝试将基本ID号​​添加到标题中 这是我的模型: .to_slug来自https://github.com/ludo/to_slug 当我保存新帖子时,标题slug根本没有id,输出为“ -post-title”
3回复

Rails 3查询:查找具有相同主题的所有帖子

我正在尝试创建一个查询,该查询查找属于相同主题ID的所有帖子。 我相信我走在正确的轨道上,但是所有@posts返回都是数据库中的每个帖子。 主题控制器: 主题模型: 帖子模型:
1回复

Rails-3个嵌套模型在一个视图中

我正在努力掌握编写模型方法背后的基础知识,这就是我认为我需要做的才能使其工作。 基本上,我有一个项目视图,其中显示了属于该项目的project_todos。 然后嵌套在下面,我有一个属于project_todo的project_todo_comments。 全部集中在一个视图中。 我
1回复

Rails-在其他区域显示评论

我正在尝试创建一个允许运动员响应其教练训练计划的系统,为此,我允许教练创建内容,但是我正在使用基于博客的系统来创建它……此刻页面显示如下 内容标题 内容信息1 ... 内容信息2 ... 内容信息3 ... 评论... 评论1 评论2 评论3
1回复

rails如何正确地将模型移动到命名空间

我正在运行rails v 3.2。 经过一段时间开发应用程序后,我需要将一些模型移动到命名空间ex: /app/models/address.rb到/app/models/local/address.rb 我尝试将模型移动到目标文件夹并将Local::添加到类名。 然后我相应更新规格,
1回复

根据轨道上的另一个红宝石下拉列表填充下拉列表

我的表单中有两个不同的字段,如下所示。 我希望第二个字段应该被禁用,除非第一个被选中。 第二字段Element code应根据所选的第一字段Master Survey更改值。 我在“ Elements表Master Survey Code中有一个Master Survey Code