这是一个语法问题。可以通过
提取总和@cart.quotes.sum("weight")
但这不适用于max
@cart.quotes.max("weight")
在另一种语法模式
@cart.quotes.weight.max
为关系生成“未定义的方法”权重。我无法理解运算符的适用性(或非),因为对于我可以操作的变量,关系错误如何出现... Rails 3.2.13和Ruby 1.9
答案 0 :(得分:1)
要回答第一个问题,请尝试:
@cart.quotes.maximum("weight")
关于运算符的适用性(或非):@cart.quotes
返回一个ActiveRecord关系,该关系没有任何名为weight
的方法或属性或表quotes
具有的任何其他属性。
然而,它确实响应了sum
和maximum
等运算符对提供的属性执行该操作并返回最终计算。
有关ActiveRecord计算方法,请参阅docs。