Как вы пишете область возвращает себя в зависимости от состояния потомка И включает ТОЛЬКО эти потомки в это условие.
Например, как я могу написать область, которая возвращает все Organizations
, которые имеютопубликованные работы И включите эти опубликованные работы (исключая неопубликованные).
Для этого потребуется два запроса?
# Organization.rb
scope :with_published_jobs, lambda {
joins(:jobs)
.merge(Job.published)
.includes(:jobs).where(published: true)
# doesnt work
}
Модель организации
class Org < ApplicationRecord
has_and_belongs_to_many :jobs, autosave: true
...
Модель задания ..
class Job < ApplicationRecord
has_and_belongs_to_many :orgs
эти две модели связаны с таблицей соединений