Rails: как получить объекты хотя бы с одним потомком?

После поиска в Google, просматривая ТАК ичтениеПохоже, в Rails-стиле нет способа эффективно получить толькоParent объекты, которые имеютхотя бы один Child объект (черезhas_many :children связь). В простом SQL:

SELECT *
  FROM parents
 WHERE EXISTS (
               SELECT 1
                 FROM children
                WHERE parent_id = parents.id)

Самое близкое, что я пришел, это

Parent.all.reject { |parent| parent.children.empty? }

(на основедругой ответ), но это действительно неэффективно, потому что он выполняет отдельный запрос для каждогоParent.

Ответы на вопрос(6)

Ваш ответ на вопрос