1

メール通知を設定したいRailsプロジェクトがあります。たとえば、レコードXが5日で期限切れになる場合は、所有者にメールを送信します。新規ユーザーが登録したときにメール通知を設定しましたが、条件に基づいてメールを送信する方法がわかりません(x = yの場合、メールを送信します)。助けてください!!

4

1 に答える 1

2

これには rake タスクを使用できます。cron で 1 日 1 回実行するように設定します。

変更して使用できる rake タスク コードの例:

task :send_reminds => :environment do
  Record.all.each do |remind|
    UserMailer.remind_email(record).deliver if record.expires_in(5.days)
  end
end

新しい bash スクリプトを作成し、好きな場所に配置します。

#!/bin/bash
cd /your/path/to/rails/app
rake send_reminds

crontab -eタスクを crontab に追加するために使用します。次の行を追加します。

0 0 * * * /your/path/to/bash/script

毎日真夜中に実行されます。

chmod +x をスクリプトに設定することを忘れないでください!

于 2012-04-09T17:38:04.830 に答える