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