Comment faire une Boucle par Mois en Ruby on Rails

J'ai besoin d'une boucle sur plusieurs mois en Ruby on Rails application. Pour chaque mois, j'ai besoin de trouver le premier et le dernier jour de ce mois. Ces dates sont ensuite utilisées dans une requête distincte pour trouver des événements survenant au cours de ces dates et de l'exécution de calculs sur eux.

D'abord, j'ai essayé quelque chose comme:

(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

Bien sûr, l'année n'est pas mis à jour dans ce cas, dans le cas où il y a 11 mois implique d'aller à l'année précédente. Et, je ne pense pas que ce type de/chaque boucle fonctionne. J'ai aussi essayé de cartographie les nombres d'un tableau et à l'aide de la même méthode, mais il a reçu une erreur.

Quelle est la meilleure façon d'accomplir quelque chose de ce genre?

  • Attendez-vous arbitraires dates de début/fin?
InformationsquelleAutor Justin | 2012-12-16