有没有人知道一个gem同时软删除数据库中的记录(只是将它们标记为已删除而不是实际删除)和...
...当你在任何类型的查找中自动省略那些已删除的记录而不使用任何特殊的用户定义范围。例如。这一切都发生在宝石中。
干杯!
您可能想要结帐paper_trail
DHH很喜欢用“关注点”做这件事,基本上只是模块混合,我喜欢这种简约的方法。
这是DHH的版本 - https://gist.github.com/1014971
这是我的bugfixed版本 - https://gist.github.com/4032984
来自天才的Paranoia的Radar宝石就是你要找的东西。
它本质上是对acts_as_paranoid的重写(并使用了许多相同的约定),但更小,更快并且与Rails 3和4兼容。
它完成了您的两个请求:
deleted_at
的对象上调用qazxsw poi方法时,自动设置qazxsw poi时间戳。destroy
的查询设置条件,除非在查询链中包含acts_as_paranoid
。无法说出关于图书馆或雷达的好东西。
额外奖励:他的文件可能是“商业”中最好的。
我用Discard gem。这是一种非常简单的软删除记录方式。 deleted_at IS NULL