Нежелательная загрузка удаленных записей с параметрами по умолчанию для паранойи

Я использую paranoia для записи "soft-delete". Теперь мне нужно загружать эти записи, некоторые из которых могли быть удалены, для связанной модели. Паранойя добавляет этот default_scope к "параноидальной" модели:

default_scope :conditions => { :deleted_at => nil }

Таким образом, у меня есть эти (упрощенные) модели:

class Product
  has_many :orders
  default_scope :conditions => { :deleted_at => nil }
end

class Order
  belongs_to :product
end

То, что я пытаюсь достичь, - это загрузить продукты при доступе к заказам:

Order.includes(:product)

Это (из Как использовать unscoped для связанных отношений в Rails3?) здесь не работает:

Product.unscoped { Order.includes(:product) }

Я знаю, что могу создать настраиваемое отношение belongs_to для добавления условий (как в Яркая загрузка вложенных связей и области), но я не могу найти способ для удаления существующих, если это возможно.

Вопрос: Как предотвратить использование области по умолчанию для запроса на загрузку?

Ответ 1

Ну, оказывается, что обходным путем является принудительное соединение модели "параноидальное", которое обходит default_scope:

Order.joins(:product).includes(:product)

Не очень, но он работает. По возможности, лучше получить ответ.