Есть модель Cat. У кошки есть родители. Хочу делать выборку для заданной кошки, получать всех её детей (в смысле, котят, а не рекурсивно).
Сначала хотел сделать самоприсоединение для Cat, добавить поля father и mother, но в таком варианте, я не знаю, как указать, что дети - это сумма дочерних записей с father_id и mother_id равные ID текущей записи. Перед тем, как переделаю на использование с промежуточной таблицей и :through (с полями parent и parent_type), может, всё-таки, есть возможность как-то хитро указать has_many :children1, :class_name => 'Cat', :foreign_key => :father и has_many :children2, :class_name => 'Cat', :foreign_key => :mother «в одном флаконе»?
зы: но если есть ещё какие-то недостатки самоприсоединения в данном случае, хочу узнать о них.