ruby-on-rails – 为什么在rails 3.1范围内使用sum会导致错误?

我有这个范围:
scope :total_quantity,sum('quantity')

当我跑:

MyModel.total_quantity

我收到此错误

NoMethodError: undefined method `default_scoped?' for 4:Fixnum

直接运行sum方法有效

MyModel.sum('quantity') # 4

我在default_scoped上找不到任何文档?方法,或者为什么在这里调用它.你知道是否有办法解决这个问题?

解决方法

试试方法而不是范围.它像魅力一样工作我也遇到了同样的问题,但是当我将范围改为方法时,它的工作正常.下面是工作和测试代码:)
def self.total_quantity
 sum('quantity')
end

让我知道它是否有效!谢谢

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...