Rails:查找相关对象的数组

时间:2015-08-01 04:09:34

标签: ruby-on-rails activerecord rails-activerecord

这是我目前的代码:

project_ids = ProjectEnrollment.unscoped.where(user: self).pluck(:project_id)
Project.where(id: project_ids)

我确定必须有更好的方法。谢谢!

编辑:我已经使用了has_many关系中的方法,并为另一个案例使用了作用域项目。

1 个答案:

答案 0 :(得分:1)

在您的用户模型中:

has_many :project_enrollments, -> { unscoped }
has_many :projects, through: :project_enrollments

在ProjectEnrollment模型中:

belongs_to :user
belongs_to :project

然后你可以做

user.projects