3

我可以像这样创建一个哈希:

@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

我该怎么做?

4

1 回答 1

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

希望有帮助!

于 2013-11-12T20:23:04.553 回答