我可以像这样创建一个哈希:
@time_offs_by_date = @time_offs.group_by{ |time_off| time_off.start_date}
然后我使用
进行迭代@time_offs_by_date[date] # I am drawing a calendar date-by-date
# I then list details about every object grouped by the specified date
我想按照time_off.start_date
和time_off.end_date
之间的每个日期对我的对象进行分组。
我该怎么做?
答案 0 :(得分:3)
这应该这样做:
@time_offs_by_date = @time_offs.group_by{ |time_off| time_off.start_date..time_off.end_date }
@time_offs_by_date.each do |range, time_offs|
# do your logic here
end
这将生成一个带有Range对象的Hash作为键,以及一个TimeOff数组作为值。
关于类Range(Ruby 1.9.3)的文档:http://www.ruby-doc.org/core-1.9.3/Range.html
希望有所帮助!