Rails:我可以从所有查询中排除条目吗?

时间:2015-02-14 22:34:00

标签: mysql ruby-on-rails

我正在开发Rails应用程序。

我现在发现,当我在Car表中查询时,我几乎从不想找到被判死刑的汽车。他们有一个真实的"在被谴责的专栏中。

问题是我的应用程序充满了对Car表的不同查询,我真的不想通过我的应用程序找到它们。

有没有办法在模型中将where.not.condemned放在对表格进行的所有查询之前?无需更改任何查询

1 个答案:

答案 0 :(得分:3)

您可以在Car模型中使用default_scope方法:

class Car < ActiveRecord::Base
  default_scope { where.not(condemned: true) }
  # ...
end

您还可以创建SQL视图并将其设置为Car模型的table_name(但这样您将获得只读模型)。