Rails如何自动删除对象

时间:2011-03-06 18:05:29

标签: ruby-on-rails ruby-on-rails-3

我想自动删除一个对象

我的Konkurrancer模型:

class Konkurrancer < ActiveRecord::Base
belongs_to :kategori
end

我有一个名为deadline的列,带有日期。 达到截止日期后,我希望删除该对象。 我应该如何编写代码以及它应该去哪里?

2 个答案:

答案 0 :(得分:0)

我认为您应该创建名为active的列,并在达到截止日期时将其设置为false。可能你需要cron来检查每天或每小时的截止日期。

答案 1 :(得分:0)

这里有2个问题:

  • 软删除(标记为已删除但保留记录)。有几个导轨插件可以帮助您:http://ruby-toolbox.com/categories/activerecord_soft_delete.html
  • 定期检查状态并采取行动。像cron这样简单的工作点击一个特殊的(和其他人隐藏)URL可以提供帮助,或者像BackgroundRB那样更有帮助。