I've discovered a strange behavior regarding ActiveRecord and TimeWithZone
I've seen the error when using SQL Server, I have not yet tried with any other database. Here's output from the console - "User" is a simple model made with a migration. ----------------------------------------- >> d1 = User.find(:first).created_at => Thu, 21 Jun 2001 19:11:57 CEST +02:00 >> d2 = Time.zone.now => Fri, 23 Jan 2009 12:02:00 CET +01:00 >> d1.class => ActiveSupport::TimeWithZone >> d2.class => ActiveSupport::TimeWithZone >> d2 - d1 => Thu Aug 04 17:50:03 UTC 1977 >> d1 - d2 TypeError: expected numeric or date from /usr/lib/ruby/1.8/date.rb:1252:in `minus_without_duration' from /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/core_ext/date/calculations.rb:88:in `-' from /usr/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/time_with_zone.rb:201:in `-' from (irb):11 ----------------------------------------- The strange thing is, that "d1" (the ActiveRecord attribute) reports itself as a TimeWithZone class, but it isn't. If I do this instead >> d1 = Time.zone.now >> d2 = Time.zone.now >> d1 - d2 I get no errors. So what exactly is happening in ActiveRecord? Is it a problem in the adapter? - Carsten -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk@googlegroups.com To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---