我正处于 Rails 应用程序开发的最后阶段。
我现在发现,当我在 Car 表中进行查询时,我几乎不想找到报废的汽车。他们在谴责栏中有一个“真实”。
问题是我的应用程序充斥着对 Car 表的不同查询,我真的不想遍历我的应用程序并找到所有这些查询。
有没有办法在模型中将 where.not.condemned
放在对表进行的所有查询之前?无需更改任何查询
最佳答案
您可以使用 default_scope
Car
模型中的方法:
class Car < ActiveRecord::Base
default_scope { where.not(condemned: true) }
# ...
end
您还可以创建 SQL View 并设置为 table_name
您的 Car
模型(但这样您将获得只读模型)。
关于mysql - rails : Can I exclude entries from all queries?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28521053/