У меня есть три модели: продукты, места размещения, коллекции
Я пытаюсь написать область имен, которая выбирает только продукты, НЕ входящие в определенную коллекцию.
products has_many :collections, :through => :placements
collections has_many :products, :through => :placements
Я дошел до этого далеко:
scope :not_in_front, joins(:collections).where('collections.id IS NOT ?', 4)
Но это породило противоположность того, что я ожидал в запросе:
Product Load (0.3ms) SELECT "products".* FROM "products" INNER JOIN "placements" ON "products"."id" = "placements"."product_id" WHERE "placements"."collection_id" = 4
Есть идеи, как написать это, чтобы выбрать только продукты, не входящие в эту конкретную коллекцию?