Search code examples
ruby-on-railsrubydatetimeseeding

RoR, Can't iterate from DateTime/TimeWithZone


I have a simple task where I want to take a starting date and an ending date and loop over the days/dates. This code is being used in my db:seed rake task. Currently, my code has gone through the following attempts.

(someModel.start_date.to_datetime..someModel.end_date.to_datetime).each { 
    |x| puts x 
}
 ......
(someModel.start_date...someModel.end_date).each { |x| puts x }

In each case, I get an error like this.

can't iterate from ActiveSupport::TimeWithZone
or 
can't iterate from DateTime

If anyone has any clue on how to iterate over a range of DateTimes I'd be greatly appreciative.


Solution

  • start = someModel.start_date.to_datetime
    finish = someModel.end_date.to_datetime
    while(start < finish) do
      #bunch of awesome stuff
      start += 1.day
    end