0

Railsのrakeタスクを書くのは初めてです。期限が来てメーラーを実行してから30分以内の呼び出しを探すレーキタスクを作成したいと思います。以下は、コントローラーから使用するコードですが、これを自分のrakeタスクにどのように適合させることができますか?

@call = Call.find(params[:id])
if Time.zone.now < @call.transfer_date + 30.minutes
   @call.units.each do |unit|
      CallMailer.cancel_call(unit.incharge, @call).deliver
      CallMailer.cancel_call(unit.attendant, @call).deliver
   end
end

どんな助けでも大歓迎です。

4

1 に答える 1

0
namespace :send_due_emails do
  desc "" #task describtion
  task :send_due_emails_task => :environment do
     send_emails
  end

  def send_emails
    @call = Call.find(params[:id])
    if Time.zone.now < @call.transfer_date + 30.minutes
      @call.units.each do |unit|
         CallMailer.cancel_call(unit.incharge, @call).deliver
         CallMailer.cancel_call(unit.attendant, @call).deliver
      end
    end
  end
end

http://railscasts.com/episodes/66-custom-rake-tasks

http://jasonseifer.com/2010/04/06/rake-tutorial

于 2012-10-01T15:23:42.340 に答える