2013-09-29 83 views
0

这是一个合成问题。的总和可以通过阵列上的最大运营商

@cart.quotes.sum("weight") 

提取但是,这并不适用于最大

@cart.quotes.max("weight") 

在另一个syntaxic模式

@cart.quotes.weight.max 

生成“未定义的方法‘重’为关系。我失败理解运算符的适用性(或非运算符),以及如何处理我可以操作的变量的关系错误... Rails 3.2.13和Ruby 1.9

回答

1

要回答第一个问题,请尝试:

@cart.quotes.maximum("weight") 

关于运营商的适用性(或无):@cart.quotes返回ActiveRecord的关系是没有任何方法或属性,叫做weight或任何其他属性,该表quotes有。

但它确实会响应像summaximum这样的操作员对提供的属性执行该操作并返回最终计算结果。

有关ActiveRecord计算方法,请参阅docs

+0

感谢您的澄清。没有意识到.min或.max简写不是普遍可用的 – Jerome