Rubyの新機能で、Windows XPとRails3を使用して、34週間7日ごとにユーザーにメールを送信したいのですが、34週間も7日ごとにメールを送信するusermailerがありますか?
ユーザーメーラーにユーザーにメールを送信させ、7日ごとにメールを送信し、Windowsタスクスケジューラ
も使用してバッチファイルから呼び出す方法を定義しました。また、ユーザーが現在どの週にいるのか知りたいですか?
たとえば、ユーザーが4月に妊娠し、6月に歌った場合、ウェルカムメッセージが表示されます。その後、妊娠の最初の8週間は記録に含まれていませんでした。つまり、34-8 = 26であるため、メールは9週目から始まります。数週間なので、ユーザーは26通のメールを受信します(1週間ごとに1通のメール)。
私のモデル:
class Dop < ActiveRecord::Base
attr_accessible :date, :mail, :name
validates_presence_of :name
validates_presence_of :mail
validates_uniqueness_of :mail
validates_format_of :mail, :with =>
%r{^(?:[_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-zA-Z0-9\-\.]
+)*(\.[a-z]{2,4})$}i
def self.send_mail
Dop.all.each do |dop|
UserMailer.welcome_email(dop).deliver if dop.date.to_time <= Time.now - 7.day
end
end
end
私のバッチファイル:
echo rails run
cd c:\dop
rails r "Dop.send_mail"
echo done
pause
ドープは妊娠の日付を指します。