Я не совсем уверен, что даже искать для решения этого конкретного вопроса. Так здесь идет ...Подмножество вложенного запроса
Мой текущий дизайн:
User < AR
has_many :items
has_many :projects
Project < AR
has_many :groups
Group < AR
has_many :items
Учитывая @project
и @user
как получить группы для проекта (@project.groups
), но есть те группы содержат только items
для данного @ пользователь?
Это похоже на то, что нужно позаботиться в модели, а не как логика контроллера, но я не уверен, что лучший способ Rails для этого будет. Я исследовал область действия и пользовательские поисковые системы, но это кажется излишне сложным. Возможно, это недостаток в отношениях между моделями.
Редактировать: Возможно, это помогает?
User < AR
has_many :items
has_and_belongs_to_many :projects
Project < AR
has_many :groups
has_and_belongs_to_many :users
Group < AR
has_many :items
Может ли «группа» принадлежать нескольким проектам? Ваш вопрос подразумевает, что, но ваш дизайн модели этого не делает. –
Вы хотите, чтобы все группы, содержащие элементы для владельца проекта или для любого данного пользователя? –
@ Группа KandadaBoggu не может принадлежать нескольким проектам. – Stefan