ActiveRecord:没有作用域的类方法

时间:2013-05-14 13:14:19

标签: ruby-on-rails activerecord scope class-method

我需要创建一个ActiveRecord的类方法。 但是这种方法并不是一个范围,所以我想像范围一样防止它的误用。 有可能吗?

1 个答案:

答案 0 :(得分:1)

就像kiddorails暗示的那样,这是不可能的。根本原因是AR将许多职责分为一类 - 验证,持久性,查找/查询。如果你真的关心在一个地方封装这些方法,那么你可以考虑创建一个单独的类(它可以防止'滥用',因为它只有查询相关的方法),它只处理与查询相关的逻辑。 (还有其他可以考虑的策略)