Как мне выводить записи, сгруппированные по дате в Rails?

#ruby-on-rails #ruby-on-rails-3

#ruby-on-rails #ruby-on-rails-3

Вопрос:

Прямо сейчас моя страница выглядит примерно так:

 Record10, created on 02.11.11
Record9, created on 02.11.11
Record8, created on 29.10.11
Record7, created on 25.10.11
...
  

Итак, каков наилучший способ визуализации таким образом:

 02.11.11
  Record10
  Record9
29.10.11
  Record8
25.10.11
  Record7
...
  

Еще один рабочий пример того, чего я пытаюсь достичь, — это страница репутации SO, где есть даты, и каждая дата имеет 1 действия.

Ответ №1:

 @records.group_by{|g| g.date.strftime("%d.%m.%Y") }.each do |date, record_group|
  puts date.strftime("%d.%m.%Y")
  record_group.each do |record|
    puts "  Record#{record.id}"
  end
end
  

Ответ №2:

используйте group_by AR:

Record.all.group_by{ |u| u.created_at.beginning_of_day }