我有这个范围:
scope :total_quantity, sum('quantity')
当我运行时:
MyModel.total_quantity
我收到此错误:
NoMethodError: undefined method `default_scoped?' for 4:Fixnum
直接运行 sum 方法有效
MyModel.sum('quantity') # 4
我找不到有关 default_scoped 的任何文档?方法,或者为什么在这里调用它。不知道有没有办法解决这个问题?
最佳答案
只需尝试 method 而不是 scope 。它像魅力一样工作,我也遇到了同样的问题,但是当我将范围更改为方法时,它工作正常。以下是工作和测试代码:)
def self.total_quantity
sum('quantity')
end
让我知道它是否有效!
谢谢
关于ruby-on-rails - 为什么在 rails 3.1 范围内使用 sum 会导致错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7366193/