使用Rails在一定时间后删除数据库条目

时间:2015-10-28 12:07:16

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

我正在开发一个webapp,它允许你创建一个带有加入外部游戏(CSGO)链接的大厅。实际的大厅不是什么特别的,但scss样式< \ div>带有关联数据库条目的标记,我想在一段时间内出现。

我的问题是:如何自动销毁/删除大厅< \ div>在创建后的一段时间后标记数据库条目?

我发现的其中一个选项是每当有宝石时设置一个cron任务,但是由于我的理解有限,它只能在某些时间间隔内工作,而不是在大厅创建后的某些时间。

1 个答案:

答案 0 :(得分:0)

使用delayed_job gem。安装delayed_job gem之后,请执行以下操作:

class Model < ActiveRecord::Base

    after_create :set_delete_timer

    # register the timer
    def set_delete_timer
      delay(:run_at => your_delete_time).expire
    end

    def expire
       delete_your_things_here  
    end

end