按计划发送电子邮件

时间:2014-04-21 14:07:42

标签: ruby-on-rails ruby-on-rails-4

我需要按照管理员指定的时间表发送邮件。管理员可以指定发送邮件的两天。通过管理界面指定的日期,即公司活动终止前几天。

我会使用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来自数据库的这个字段在创建公司时填写管理员。

1 个答案:

答案 0 :(得分:3)

作为替代方案,您可以创建一个rake任务来调用发送电子邮件的方法,并且有一个名为Whenver的漂亮的小宝石,可以用来为进程的自动化设置你的cron < / p>