Railsプロジェクトの最初のレーキタスクを書いていますが、これをどのように実装するかについては非常に漠然とした考えがあります。
基本的に、私の目標は、このレーキタスクを1日1回実行する自動化されたプロセス(Cron + Whenever)を用意することです。
タスクは各Traveldealインスタンスを反復処理し、そのexpired_dateフィールドを現在の日付と比較し、Traveldealが期限切れの場合、期限切れのブール値を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」に設定されていないようです。
助言がありますか?
ありがとう。