我有这个范围:
scope :total_quantity, sum('quantity')
当我跑步时:
MyModel.total_quantity
我收到此错误:
NoMethodError: undefined method `default_scoped?' for 4:Fixnum
直接运行sum方法
MyModel.sum('quantity') # 4
我在default_scoped上找不到任何文档?方法,或者为什么在这里调用它。你知道有没有办法解决这个问题?
答案 0 :(得分:12)
只需尝试方法而不是范围。它的功能就像魅力我也遇到了同样的问题,但是当我将范围改为方法时,它的工作正常。下面是工作和测试代码:)
def self.total_quantity
sum('quantity')
end
让我知道它是否有效! 谢谢
答案 1 :(得分:-1)
这对我有用
def self.total_quantity
sum('quantity')
end
但是如果我使用范围而不是方法,我没有理由出错。