Я хочу отсортировать по двум ключевым столбцам, выполняя цикл each_with_index. Первый вариант сортировки :selection_id
работает нормально, но порядок цикла сбора, кажется, игнорирует порядок assessments.date
.
Моя дата в миллисекундах. Может ли это быть проблемой?
Цикл
<% unless data.progressions.blank? %>
<% data.progressions.order('selection_id, assessments.date ASC').in_groups_of(7)[i].each_with_index do |e, index| %>
<% if index == 0 %>
<%= e.selection.name rescue 0 %>
<% end %>
<%= Time.at(e.assessment.date/1000).strftime("%d/%m/%Y") rescue 0 %>
<% end %>
<% end %>
Итак, что происходит, так это то, что он отображает что-то вроде этого.
|name 1| 0 |0|0|0|02/01/2018|15/01/2018|23/01/2018|
|name 2|28/02/2018|0|0|0|02/01/2018|15/01/2018|21/01/2018|
Что не отображает даты по порядку, а в некоторых случаях между ними добавляются нулевые записи.
Я ожидаю получить:
|name 1|02/01/2018|15/01/2018|23/01/2018| 0 |0|0|0|
|name 2|02/01/2018|15/01/2018|21/01/2018|28/02/2018|0|0|0|