ruby on rails平均每天

时间:2009-09-01 22:14:08

标签: ruby-on-rails

参考这篇文章:

ruby on rails average per day

我得到了每天的平均值,这很好。直到现在,这个月已经转换......

我有这段代码

score = (7.days.ago.to_date.to_s(:db)..Date.today.tomorrow.to_s(:db)).map{|dt| [dt, ave_score[dt] || 0]}

哪个有效,但现在月份转换,它会返回不存在的日期,如2009-08-32到2009-08-99和2009-09-00。全部在阵列中。如何删除实际不存在的日期。

2 个答案:

答案 0 :(得分:1)

尝试等待拨打to_s

score = (7.days.ago.to_date..Date.today.tomorrow).map{ |dt| d = dt.to_s(:db); [d, ave_score[d] || 0] }

答案 1 :(得分:0)

我明白了,我不确定这是否是最好的方式,所以如果有人愿意添加一些东西:

arr_count = 0
length = score.length
while arr_count < length
   begin
      score[arr_count][0].to_date  
      arr_count = arr_count + 1
   rescue
     @score.delete_at(arr_count)
     length = length - 1
   end
end