ruby-on-rails-3 – 如何找到最高价格的记录?

这返回最大值,而不是完整的记录:
self.prices.maximum(:price_field)

目前,我发现这样的记录:

def maximum_price
  self.prices.find(:first,:conditions => "price = #{self.prices.maximum(:price_field)}" )
end

这是正确的方法吗?因为上述需要两个sql语句来使它工作,而且它不知何故不是正确的.

PS.另外,如果多个记录具有相同的“最大”值,那么它应该得到最新的updated_at值.那么这将意味着另一个sql语句?

PPS.有没有人知道Rails中的AREL和非AREL内容的详细参考? ActiveRecord查询的Rails指南还不够!

(我使用的是Rails 3)

=== UPDATE ===

使用AREL我做以下:

self.prices.order("updated_at DESC").maximum(:price_field)

但这只给出最大值,而不是完整的记录:(
还有,是否使用maximum()真AREL?

解决方法

这样的东西怎么样?
self.prices.order("price DESC").first

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...