Ansioso carga de registros eliminados con scope predeterminado de paranoia

Estoy usando la gem de la paranoia para “borrar suavemente” los registros. Ahora necesito cargar estos registros, algunos de los cuales podrían haber sido eliminados, para un modelo asociado. Paranoia agrega este default_scope al modelo “paranoico”:

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

Entonces, en efecto, tengo estos modelos (simplificados):

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

Lo que estoy tratando de lograr es cargar los productos al acceder a los pedidos:

 Order.includes(:product) 

Esto (de ¿Cómo usar sin ámbito en las relaciones asociadas en Rails3? ) No funciona aquí:

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

Sé que podría crear una relación personalizada para agregar condiciones (como en Eager cargando asociación y scope nesteds ), pero no puedo encontrar una manera de eliminar las existentes, si eso es posible.

Pregunta: ¿Cómo evito que el scope predeterminado se aplique a la consulta de carga impaciente?

Bueno, resulta que la solución es forzar una unión en el modelo “paranoico”, que elude el default_scope :

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

No es bonita, pero funciona. Quisiera una mejor respuesta si es posible.