Is there a way to skip serialization in Rails 3.1?

Hello,

In my Rails 3.1 application, I need to read the raw data of a field, without serialization, and then write it down without serialization. Is this possible? How?

By serialization I mean

class Tenant
serialize :profile_template
end

which I can access like this:

t.profile_template
=> [{:title=>“Page 1”, …}]

I tried several approaches, none of them worked. With read_attribute_before_type_cast:

t.read_attribute_before_type_cast(:profile_template)
=> nil

Using a string instead of a symbol had a different but disappointing result:

t.read_attribute_before_type_cast(“profile_template”)
=> [{:title=>“Page 1”, …}]

and same with the attribute name:

t.profile_template_before_type_cast
=> [{:title=>“Page 1”, …}]

Just for the record, what I was expecting is:

"—

  • :title: Page 1
    …"

In all samples, … is the rest of a very long structure.

Hello,

In my Rails 3.1 application, I need to read the raw data of a field, without serialization, and then write it down without serialization. Is this possible? How?

By serialization I mean

class Tenant
  serialize :profile_template
end

which I can access like this:

> t.profile_template
=> [{:title=>"Page 1", ....}]

I tried several approaches, none of them worked. With read_attribute_before_type_cast:

> t.read_attribute_before_type_cast(:profile_template)
=> nil

Using a string instead of a symbol had a different but disappointing result:

> t.read_attribute_before_type_cast("profile_template")
=> [{:title=>"Page 1", ...}]

and same with the attribute name:

> t.profile_template_before_type_cast
=> [{:title=>"Page 1", ...}]

Just for the record, what I was expecting is:

"---
- :title: Page 1
...."

In all samples, ... is the rest of a very long structure.

This is messy, but works...

t.class.serialized_attributes['profile_template'].dump(t.profile_template)