У меня есть две модели: клиенты и товары с ассоциацией HABTM. Я хотел бы найти самый быстрый способ выбрать всех клиентов, у которых есть несколько (более одного) элементов (или определенное количество элементов).
class Client < ActiveRecord::Base
has_and_belongs_to_many :items
end
class Item < ActiveRecord::Base
has_and_belongs_to_many :clients
end
В приведенном ниже запросе выбираются клиенты, у которых есть ОДИН элемент из списка:
required_item_ids = Item.where(:kind => :book).collect(&:id)
Client.join(:items).where(:items => {:id => required_item_ids})
Но необходим список клиентов, имеющих НЕСКОЛЬКО или ВСЕ требуемые позиции.
Я считаю, что это простой вопрос, так как я новичок в Rails, но я просмотрел все подобные вопросы здесь и в некоторых других местах и не нашел ответа.