¿Destruir un objeto Rails 3 en rastrillo?

Estoy atrapado en un problema simple aquí. Estoy creando una aplicación que administra una base de datos de cupones, cada uno de los cuales tiene una fecha de vencimiento. Estoy tratando de crear una tarea de rastrillo que eliminará los cupones caducados. El código relevante del rakefile se ve así:

desc "Deletes expired offers from the database."
task :purge_expired => :environment do
    today = Date.today.to_s            
    Offer.where('expires_on < ?', today).destroy
end

Sin embargo, eso falla con el siguiente mensaje de error:

rake aborted!
wrong number of arguments (0 for 1)

No estoy seguro de por qué. ¿Qué argumentos serían necesarios?

Como experimento, descubrí que esto funcionó bien:

desc "Deletes expired offers from the database."
task :purge_expired => :environment do
    today = Date.today.to_s            
    puts Offer.where('expires_on < ?', today).count
end

Eso devolvió el número correcto de registros, así que supongo que estoy reuniendo con éxito los objetos correctos.

FWIW, también probé esto y no tuve suerte:

desc "Deletes expired offers from the database."
task :purge_expired => :environment do
    today = Date.today.to_s
    @offers = Offer.where('expires_on < ?', today)
    @offers.destroy
end

Así que estoy un poco sin ideas. ¿Qué estoy haciendo mal aquí

Muchas gracias por su ayuda. ¡Estoy bastante seguro de que no tendría un trabajo si no fuera por Stack Overflow!

Respuestas a la pregunta(2)

Su respuesta a la pregunta