我正在为我的 rails 项目编写我的第一个 rake 任务,我对如何实现它有一个非常模糊的想法。
基本上,我的目标是拥有一个每天运行一次这个 rake 任务的自动化流程(Cron+Whenever)。
该任务将遍历每个 Traveldeal 实例并将其 expired_date 字段与当前日期进行比较,如果 Traveldeal 已过期,它将把 expired 布尔值设置为 true。
这是我根据我在网上找到的其他一些 raketask 编写的任务。
namespace :traveldeal do
desc "Expire Old Traveldeals"
task :expired_traveldeals => :environment do
Traveldeal.transaction do
Traveldeal.all.each { |deal|
if(deal.expired_date <= Date.today)
deal.expired = 't'
deal.save!
end
}
end
end
end
我的 raketasks 似乎正在运行,但看起来我的过期字段没有设置为“t”。
有什么建议么?
谢谢。