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