У меня есть три модели:
class User < ActiveRecord::Base
has_many :projects, :through => :permissions
class Permission < ActiveRecord::Base
belongs_to :user
belongs_to :project
belongs_to :role
class Project < ActiveRecord::Base
has_many :users, :through => :permissions
С помощью вышеперечисленного очень легко получить всех пользователей Проекта: @project.users
Но я хочу получить что-то вроде этого: получить всех пользователей во всех проектах пользователя.
Так, если у пользователя есть 3 проекта, в каждом из которых по 5 пользователей. Я хочу отправить запрос всем 15 пользователям во всех группах пользователей.
Я пытаюсь это сделать.
current_user.projects.users
но Rails не очень нравится. current_user.projects прекрасно работает, но не пользователи.
Предложения? Идеи? спасибо!
ОБНОВЛЕННЫЙ КОД 3 на основе комментариев лапши
scope :suggestedContacts, lambda { |user|
users_from_projects = user.projects.reduce([]) {|all_users,prj|
all_users + prj.users
}.uniq
}
ОШИБКИ:
NoMethodError (неопределенный метод "includes_values" для #):