0

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」に設定されていないようです。

助言がありますか?

ありがとう。

4

1 に答える 1

0

名前空間を参照する必要があります

rake traveldeal:expired_traveldeals
于 2012-05-14T23:17:28.593 に答える