Рассмотрим простую ассоциацию...
class Person
has_many :friends
end
class Friend
belongs_to :person
end
Каков самый чистый способ получить всех людей, которые не имеют друзей в AREL и/или meta_where?
А потом как насчет has_many: через версию
class Person
has_many :contacts
has_many :friends, :through => :contacts, :uniq => true
end
class Friend
has_many :contacts
has_many :people, :through => :contacts, :uniq => true
end
class Contact
belongs_to :friend
belongs_to :person
end
Я действительно не хочу использовать counter_cache - и я из того, что я прочитал, не работает с has_many: через
Я не хочу вытаскивать все записи person.friends и прокручивать их в Ruby - я хочу иметь запрос/область действия, которую я могу использовать с камнем meta_search
Я не возражаю против стоимости выполнения запросов
И чем дальше от реального SQL, тем лучше...