November 2015December 2015January 2016February 2016march 2016
我尝试了以下方法:
Hash[(@user.created_at.month..Date.today.month).map { |month| [ month,0 ] }].merge(...)
但上面的代码返回
stack level too deep
因为它循环11..3.
我怎么能弄清楚这个问题呢?
advance
: start = @user.created_at.to_date.beginning_of_monthHash[(0..6).collect { |n| [ start.advance(months: n).month,0 ] }]
这应该适当地延长几天/几个月.您可能只想坚持日期而不仅仅是月份数.
如果你想做“到今天”,那试试这个:
date = @user.created_at.to_date.beginning_of_monthstop = Date.today.beginning_of_monthhash = { }while (date <= stop) hash[date] = 0 date = date.advance(months: 1)end总结
以上是内存溢出为你收集整理的ruby-on-rails – 循环数月全部内容,希望文章能够帮你解决ruby-on-rails – 循环数月所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)