自动排除所有查找请求中的特定记录

时间:2014-02-11 17:33:04

标签: ruby-on-rails activerecord rails-activerecord

我有model名为Sources,代表我项目中的不同数据集。用户可以将数据上传到Source。他们还可以查看这些来源中的可用来源和数据列表。

我在ready中有一个名为Source model的字段。我在上传开始时将其设置为0,完成后我将其设置为1。在将数据上载到特定源时,我不希望用户可以使用该源。所以基本上任何查找操作都应该使用ready=0排除来源。

显然我可以通过在我的代码中的每个查找请求中添加ready=1来实现这一点,但我想知道是否有一些我可以做的更优雅和简单,以便记录{{ 1}}会自动省略。

1 个答案:

答案 0 :(得分:1)

看看Rails的default_scope方法:

http://apidock.com/rails/ActiveRecord/Base/default_scope/class

您可以设置模型的默认范围,它将自动应用于使用ActiveRecord的所有查询