在我的一些模型中,我想要一个已删除/非活动标志。99% 的时间我对具有此标志的模型对象不感兴趣,并且很容易忘记排除带有该标志的条目,所以我的问题是:
ActiveRecord
在使用finder 方法时where
,有没有什么好的方法可以默认排除这些find
?
在我的一些模型中,我想要一个已删除/非活动标志。99% 的时间我对具有此标志的模型对象不感兴趣,并且很容易忘记排除带有该标志的条目,所以我的问题是:
ActiveRecord
在使用finder 方法时where
,有没有什么好的方法可以默认排除这些find
?
把它放在你的模型定义中:
default_scope :conditions => { :deleted => true }
但是,如果您想要更大的灵活性,您可以使用Paranoia,它为破坏操作提供别名,并且还实现了默认范围等。