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)