Как найти атрибут max в записях в ruby? - PullRequest
6 голосов
/ 13 октября 2011

У меня есть несколько записей с несколькими атрибутами (A, B, C, D).

Я хочу узнать, какая запись имеет более высокое значение для данного атрибута, например D.

Как мне это сделать?

Ответы [ 2 ]

20 голосов
/ 13 октября 2011

Вы можете посмотреть max_by .

objects = [some array of objects]

object_with_highest_value = objects.max_by {|obj| obj.desired_value }
2 голосов
/ 14 октября 2011

В зависимости от того, сколько у вас записей, поиск в БД может быть более эффективным. Я бы упорядочил по требуемому атрибуту по убыванию и взял бы первую запись:

User.order('field DESC').first
...