2013-09-29 81 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