我需要按照管理员指定的时间表发送邮件。管理员可以指定发送邮件的两天。通过管理界面指定的日期,即公司活动终止前几天。
我会使用DelayedJob
。
class Email < ActiveRecord::Base
belongs_to :campaign
end
class CreateEmails < ActiveRecord::Migration
def change
create_table :emails do |t|
t.integer :days1
t.integer :days2
t.timestamps
end
end
end
class Campaign < ActiveRecord::Base
has_many :emails
def end_time
created_at + ends_at.day
end
end
方法end_time
确定您何时完成公司的活动。
ends_at
来自数据库的这个字段在创建公司时填写管理员。
答案 0 :(得分:3)
作为替代方案,您可以创建一个rake任务来调用发送电子邮件的方法,并且有一个名为Whenver的漂亮的小宝石,可以用来为进程的自动化设置你的cron < / p>