【发布时间】:2013-08-13 05:55:00
【问题描述】:
我有一个 WorkSpace、Project、User 和 Membership 模型。一个用户有许多会员资格,并且通过会员资格有许多项目。一个项目属于一个工作空间。
获取用户项目非常简单:
user.projects
但是,要想找到工作空间是很棘手的。这样的事情会引发undefined method spaces for collection proxy 的错误。
user.projects.work_spaces.unique
如何获得用户参与的一组独特的工作空间? (包含用户通过成员资格所属的项目的工作空间)。
【问题讨论】:
-
user.projects.map(&:work_spaces).flatten.uniq将返回所有通过项目关系链接到用户的工作空间(uniq 将删除重复的对象)
标签: ruby-on-rails ruby activerecord