1
私は電子メール通知を設定したいというレールプロジェクトがあります。たとえば、レコードXが5日以内に期限切れになる場合は、所有者に電子メールを送信します。新規ユーザー登録時に電子メール通知を設定しましたが、条件付き(x = yの場合は電子メールを送信)に基づいて電子メールを送信する方法を理解できません。助けてください!!ActionMailer - 日付条件に基づいてメールをメールで送信
私は電子メール通知を設定したいというレールプロジェクトがあります。たとえば、レコードXが5日以内に期限切れになる場合は、所有者に電子メールを送信します。新規ユーザー登録時に電子メール通知を設定しましたが、条件付き(x = yの場合は電子メールを送信)に基づいて電子メールを送信する方法を理解できません。助けてください!!ActionMailer - 日付条件に基づいてメールをメールで送信
レーキタスクを使用できます。 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を設定することを忘れないでください!
はcron a gemですか?私はかなり新しいレールです。 –
[Cron](http://en.wikipedia.org/wiki/Cron)は、特定の時間にコマンドを実行できるシステムデーモンです。私はあなたが* NIXシステムにいると仮定します。 Windowsを使用している場合は、実行するのが難しくなります。 – methyl
MacOSでもアプリケーションはHeroku上にあります。 –