2009-09-01 8 views
0

Référencer ce poste:rubis sur des rails en moyenne par jour

ruby on rails average per day

Je reçois en moyenne par jour, ce qui fonctionne très bien. Jusqu'à présent que le mois commuté ...

J'ai ce code

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

Ce qui fonctionne, mais maintenant que le mois bascule, il revient avec des dates qui n'existent pas, comme 2009- 08-32 à 2009-08-99 et 2009-09-00. Tout dans le tableau. Comment puis-je supprimer des dates qui n'existent pas réellement?

Répondre

0

j'ai tout compris, je ne suis pas sûr que ce soit la meilleure façon de le faire alors si quelqu'un d'autre voudrait ajouter quelque chose pour aller Est-ce que:

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 
+0

Que s'est-il passé lorsque vous avez essayé le code que j'ai posté? –

+0

Il n'a probablement pas été essayé. Les gens n'utilisent les choses que si c'est ce qu'ils veulent entendre. – nitecoder

1

Essayez attendant de faire l'appel à to_s:

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