У меня есть модель Container
которая has_and_belongs_to_many Papers
которая has_one Status
.с именем scope overriding attributes rails
Я хочу иметь именованный scope на модели Container
, которая даст мне все контейнеры, заполненные только бумагами, содержащими определенный набор статусов.
У меня есть что-то вроде следующего (псевдокод) на модели Container
scope :by_status, -> (statuses) do {
joins(papers:[:paper_statuses]).where('paper_statuses.tag in (?)', statuses) if statuses.present?
}
Возвращение, что я получаю все документы в контейнере, независимо от статуса .. однако странная часть все из статусы становятся тем, что я проходил, пока существует один. Что может вызвать это и как я могу предотвратить перезапись и загрузку всех документов в моем контейнере, если все, о чем я забочусь, это те, у которых есть определенные статусы?