在每个ActiveRecord查询中应用特定的where条件

时间:2018-04-12 21:11:23

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

我有一个铁轨模型:Product < ActiveRecord::Base

Product在数据库中有一个deleted列,是0/1标记。

我是否有办法让Product的所有问题都应用where条件WHERE deleted = 0

我喜欢Product.allProduct.includes等...以及has_many :products之类的任何关系,以排除&#34; deleted&#34;

很高兴能够以某种方式在一次性查询中覆盖它(因此我可以故意选择已删除的产品)。

我的猜测是不可能的,但我很乐意听到其他声音!

1 个答案:

答案 0 :(得分:2)

您可以使用default_scope

default_scope { where(deleted: 0) }