0
我正在開發一個網站(含Rails 3.1),其中有限的'編寫者'能夠寫入帖子。 '版主'應該接受(或拒絕)帖子並安排發佈。直到現在這個開發過程非常基礎。安排在rails 3博客中發佈帖子
每天有兩個發佈時刻。接受的帖子將被放入某種隊列中。每天上午10點和下午4點,最早接受的帖子必須發佈。 但是,我還需要能夠**手動設置**發佈後的日期和時間。
實現結果的最佳方式是什麼?克龍?背景工作?
我正在開發一個網站(含Rails 3.1),其中有限的'編寫者'能夠寫入帖子。 '版主'應該接受(或拒絕)帖子並安排發佈。直到現在這個開發過程非常基礎。安排在rails 3博客中發佈帖子
每天有兩個發佈時刻。接受的帖子將被放入某種隊列中。每天上午10點和下午4點,最早接受的帖子必須發佈。 但是,我還需要能夠**手動設置**發佈後的日期和時間。
實現結果的最佳方式是什麼?克龍?背景工作?
所以......
1)具有accepted_at
場,您也可以手動設置;這是'上線的時間'。
2)
class Post
scope :ready_to_be_published, lambda{ where(['accepted_at<? and not published', Time.zone.now]).order('accepted_at ASC') }
def accept!(time_to_go_live = nil)
update_attributes!(:accepted_at => time_to_go_live || Time.zone.now)
end
end
3)必須在上午10點和下午4點whenever作業運行rake任務
task :publish_a_post => :environment do
Post.ready_to_be_published.first.update_attributes!(:published => true)
end
或者您也可以有單獨的'accepted_at'和'go_live_at'領域,所以實際接收時間也被記錄下來。 –
哇!謝謝! 如果簡單,有些事情是最好的。 – Ivan