我有一些dateTime时间戳的记录,我希望从它们获取唯一的日期并在每天渲染事件 基本上是:
让我们说我有日期的事件:1月4日,4日,4日,4日,5日,7日,7日,我需要变得独特 - 1,4,5,7 然后我希望在这些日期中呈现事件:
1月1日
1月4日
1月5日
活动名称等 我有一个方法,但每次循环时都会调用数据库
- events.select(:start_time).collect{ |i| i.start_time.to_date }.uniq.each do |e|
%br= e
= render events.where(start_time: e..e.end_of_day)
为了更好地理解:http://imgur.com/a/ohYTm
答案 0 :(得分:1)
我相信您正在寻找的是group_by
method
所以你可以说:
- events.group_by {|event| event.start_time.to_date }.each do |start_time, events_for_date|
%br= start_time
= render events_for_date