【发布时间】:2021-03-17 21:41:12
【问题描述】:
我需要在 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 循环不起作用。我也尝试将数字映射到数组并使用相同的方法,但收到错误。
完成这样的事情的最佳方法是什么?
【问题讨论】:
-
您是否期望任意的开始/结束日期?
标签: ruby-on-rails ruby ruby-on-rails-3 loops