删除模型但在数据库中保存记录的最佳方法是什么?

时间:2014-02-05 10:13:11

标签: ruby-on-rails ruby activerecord

是否有任何宝石,这会给我这个:我想在模型销毁中保留我的数据库中的所有记录。

我试过这种方式:

class Persist < ActiveRecord::Base
    default_scope { where(removed: nil) }

    def destroy
        write_attribute :removed, Time.now
    end
end

我只是想知道,有没有更好的方法呢? 非常感谢!

2 个答案:

答案 0 :(得分:1)

您需要act a little paranoid来执行此操作:

class Paranoiac < ActiveRecord::Base
  acts_as_paranoid
end

答案 1 :(得分:1)

使用这个: https://github.com/radar/paranoia

对于Rails 4,请使用偏执狂的第2版:

gem 'paranoia', '~> 2.0'

并在您的模型中:

class Persist < ActiveRecord::Base
  acts_as_paranoid
end