Rails Edge ActiveSupport::TimeWithZone and Marshalled objects

Hello all,

I'm trying to use the new ActiveSupport::TimeWithZone from Edge. The problem seems to be that I have a several-action process to create a Booking. This Booking is stored in the session (session[:booking] = @booking) throughout the actions until the last action is reached and the record is saved to the DB.

Using TimeWithZone seems to be producing errors when trying to unmarshal the Booking back from the users session, giving me:

Status: 500 Internal Server Error   class ActiveSupport::TimeWithZone needs to have method `_load'     /Users/alistair/gresfordtrust/vendor/rails/actionpack/lib/ action_controller/session/active_record_store.rb:83:in `load'     /Users/alistair/gresfordtrust/vendor/rails/actionpack/lib/ action_controller/session/active_record_store.rb:83:in `unmarshal'     /Users/alistair/gresfordtrust/vendor/rails/actionpack/lib/ action_controller/session/active_record_store.rb:121:in `data'     /Users/alistair/gresfordtrust/vendor/rails/actionpack/lib/ action_controller/session/active_record_store.rb:302:in `restore'     /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ ruby/1.8/cgi/session.rb:304:in `'

.. etc...

Anyone have any ideas how I can get around this?


I have the exact same error using edge. Does anyone have any insight into this?

I found a couple of people having issues with ActiveRecord::Base's _load method: http://dev.rubyonrails.org/ticket/11005.

Any help is very appreciated.


I added TimeWithZone #marshal_dump and #marshal_load in changeset [8975]; please let me know if you're still having issues.