Rails -: порядок по расчетным данным - PullRequest
0 голосов
/ 01 ноября 2010

У меня есть несколько экземпляров данных, отображаемых в таблицах, которые необходимо отсортировать - большая часть этих данных рассчитывается из таблицы, а не просто в виде необработанного значения в таблице.

Простой пример: Column A = User.visits / User.membership_term

Я использую сортируемые столбцы таблицы: http://railscasts.com/episodes/228-sortable-table-columns.

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

1 Ответ

1 голос
/ 01 ноября 2010

Вы всегда можете использовать базовый метод сортировки:

irb(main):001:0> a = [1, 2, 3, 4, 5]
=> [1, 2, 3, 4, 5]

irb(main):002:0> a.sort {|d,e| (d - 3).abs <=> (e - 3).abs}
=> [3, 2, 4, 1, 5]    # sort by closest distance away from the number 3

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

...