2011-10-13 3 views
6

私はいくつかの属性(A、B、C、D)を持ついくつかのレコードを持っています。ruby​​のレコード間でmax属性を見つける方法はありますか?

私は、私はそれをどのように行うのです

などD.

として、与えられた属性の高い値を持つレコードを見つけることができるようにしたいですか?

+1

私たちにはもっと何かを教えてもらえますか?レコードはどのように保存されていますか? – rwilliams

+0

'x'個のレコードの最大属性値が同じで、すべての 'x'個のレコードを検索したい場合はどうすればよいですか? – VoodooChild92

答えて

19

max_byをご覧ください。

objects = [some array of objects] 

object_with_highest_value = objects.max_by {|obj| obj.desired_value } 
2

レコード数に応じて、DBで検索を実行する方が効率的です。目的の属性を降順で並べ替え、最初のレコードを取得します。

User.order('field DESC').first