我需要在 Ruby on Rails 应用程序中循环遍历几个月。对于每个月,我需要找到该月的第一天和最后一天。这些日期随后用于单独查询以查找在这些日期内发生的事件并对其进行计算。
最初,我尝试了类似以下的代码:
(11.months.ago.to_date.month..Date.today.month).each do |m|
start_date = '01-#{m}-#{Date.today.year}'.to_date.beginning_of_month
end_date = '01-#{m}-#{Date.today.year}'.to_date.end_of_month
end
当11个月前回到上一年时,这种情况下年份不会更新。我认为这种类型的for/each循环不起作用。我还尝试将数字映射到数组并使用相同的方法,但收到了一个错误。
如何最好地完成这样的任务?