我正在开发Rails应用程序。
我现在发现,当我在Car表中查询时,我几乎从不想找到被判死刑的汽车。他们有一个真实的"在被谴责的专栏中。
问题是我的应用程序充满了对Car表的不同查询,我真的不想通过我的应用程序找到它们。
有没有办法在模型中将where.not.condemned
放在对表格进行的所有查询之前?无需更改任何查询
答案 0 :(得分:3)
您可以在Car
模型中使用default_scope
方法:
class Car < ActiveRecord::Base
default_scope { where.not(condemned: true) }
# ...
end
您还可以创建SQL视图并将其设置为Car
模型的table_name
(但这样您将获得只读模型)。