繁体   English   中英

如何不搜索数据库中的活动记录

[英]how to NOT search active record in database

我是RoR的新手。 我遇到了一个问题,即:可能不需要在数据库中搜索一些活动记录(假设它们已过期)。 我不想从数据库中删除它,因为它与其他模型相关联。 另外,由于它已过期,因此我不希望对其进行更新。 有什么办法可以解决这种情况?

一个Rails插件来添加软删除。

该gem可用于隐藏记录,而不是删除记录,以便以后可以恢复。

https://github.com/ActsAsParanoid/acts_as_paranoid

有不同的方法。 但我建议您使用https://github.com/radar/paranoia

您可以在这里找到一个很好的截屏视频: https : //gorails.com/episodes/soft-delete-with-paranoia

添加到您的应用程序真的很容易。 只需将gem添加到您的Gemfile中,然后将acts_as_paranoid添加到您的模型中即可。

你的问题)

  1. 避免查询数据的子集: *为此,应利用ActiveRecord的范围。 具体使用默认范围。 在此处引用http://api.rubyonrails.org/classes/ActiveRecord/Scoping/Default/ClassMethods.html 顺便说一句,这是我遇到的软删除宝石用来隐藏软删除记录的机制
  2. 如何防止更新记录: 不确定您的意思。 您将不使用的记录将被(自动?)更新吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM