如何显示按月分组的记录集?

时间:2012-04-01 22:14:33

标签: ruby-on-rails ruby ruby-on-rails-3

我有兴趣以以下格式显示时间轴类型事件的记录集:

2011
APR
 - Record Out
 - Record Out    
AUG 
 - Record Out
 - Record Out
SEP
 - Record Out
 - Record Out
OCT
 - Record Out
 - Record Out
2009
OCT
 - Record Out
 - Record Out

这里的诀窍是它只显示年份,如果该年份中有项目显示..相同的月份,月份分组仅在有该月份的记录显示时呈现。 rails是否有针对此类输出的内置分组?或者这是100%定制实施?谢谢你的任何指示。

1 个答案:

答案 0 :(得分:2)

分组可以通过Ruby的内置Enumerable#group_by方法完成:

events.group_by(&:year).each do |year, year_events|
  puts year, year_events
end

我假设你有event.year方法。按月分组也是一样。