Считаете ли вы немного изменить свою схему?
class Shipment
belongs_to :invoice
end
class Invoice
has_one :shipment
end
Тогда вы сможете сделать это:
Shipment.where(:invoice_id => nil)
Объяснение:
Обаhas_one
и belongs_to
выражают отношения один-к-одному.И если это belongs_to
, то модель получает возможность сохранить внешний ключ для другой записи в ассоциации.Таким образом, в этом случае таблица shipments
будет содержать invoice_id
, которую вы сможете использовать.