如何在Rails中输出按日期分组的记录?

时间:2011-11-02 18:44:03

标签: 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个以上的动作。

2 个答案:

答案 0 :(得分:3)

@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

答案 1 :(得分:0)

使用AR的group_by:

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