2014-04-21 82 views
0

我需要按照管理員指定的時間表發送郵件。管理員可以指定兩天內發送郵件。在公司活動結束前的幾天通過管理界面指定的日子。按時間表發送電子郵件

我會用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

我的自動化替代我不確定你在問什麼。你不確定如何使用'DelayedJob'? [你有什麼嘗試?](http://whathaveyoutried.com) – lime

+0

你爲什麼要使用延遲工作?爲了安排? –

+0

@JohnNaegle還有哪些其他的選擇?我更喜歡DJ。 – user3458697

回答

3

正如你可以創建一個rake任務來調用你的方法是發送電子郵件,並且有這個叫做Whenver漂亮的小寶石,可以用來設置你的cron的過程

+0

問題是管理員設置發送電子郵件的時間。 – user3458697

+0

@ user3458697管理員會分別爲每個公司發送時間嗎?所有公司均爲 – Babar

+0

。管理員可能會更改時間。 – user3458697