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

标签 ruby-on-rails ruby-on-rails-3.1

我有这个范围:

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/

相关文章:

ruby-on-rails - 获取嵌套哈希的键/值对

ruby-on-rails - Rails 3.1 Assets 管道预编译错误 - 找不到文件 'jquery'

ruby - Mongoid has_and_belongs_to_many 协会

ruby-on-rails - Rails 3.1 重新加载具有不同语言环境的页面?

ruby-on-rails - rails c 没有使用与 rails db 相同的数据库

ruby-on-rails - 让 Rails 在子目录中查找 .mobile 文件?

ruby-on-rails - Mongoid/Mongodb 和查询嵌入文档

javascript - 如何在 Rails 中的选择框上调用 onClick 事件

ruby-on-rails-3.1 - 升级到sass-3.1.8后出现错误

ruby-on-rails - 如何在 Rails 中使用装饰器