Я пытаюсь создать метапоиск или, в качестве альтернативы, область видимости, которая дает мне все объекты, чья ассоциация has_many не имеет типа, равного type == "Something".
Пример:
class Order < ActiveRecord::Base
has_many :billing_base
end
class InvoiceBase < ActiveRecord::Base
belongs_to :order
end
class Invoice < InvoiceBase
end
class OrderAcknowledgement < InvoiceBase
end
Поиск заказов, имеющих счет-фактуру, легко выполняется с помощью пользовательской области:
joins(:invoice_base).where(:invoice_base => {:type => "Invoice"})
или метапоиск:
:invoice_base_type_equals => "Invoice"
Теперь, как мне поступить наоборот, найти заказы, в которых НЕТ счета? (Подтверждение заказа всегда должно быть разрешено)