2015-08-01 2 views
1

Это код, который я в настоящее время:Rails: Найти множество объектов, связанных с

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

Я уверен, что там должно быть лучшим способом. Благодаря!

Редактировать: Я уже использую метод из отношений has_many, с областями проектов для другого случая.

ответ

1

В модели пользователя:

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

В модели ProjectEnrollment:

belongs_to :user 
belongs_to :project 

Затем вы можете сделать

user.projects

+0

Спасибо! Наверное, я мог бы уточнить свой вопрос, я отредактирую. Я уже использую метод scoped для чего-то другого. Но это определенно на верном пути. – alejoriveralara

Смежные вопросы