ActiveRecord serialize method not returning YAML array in test environment

Hello,

I’ve got a problem with deserialization of AR “serialize” method
(http://apidock.com/rails/ActiveRecord/Base/serialize/class) in my
tests.
It just gives me pure String instead of my data Array.

Example:
User > AR::Base
serialize :roles, Array
end

Console:
u = User.new
u.roles = [“admin”, “support”]
u.save

=> true

User.first.roles

=> [“admin”, “support”]

In test environment:
User.first.roles

=> “— \n- admin\n”

it is a String. It seems that YAML serialize is not working there but
I have no idea what to do to get it working.

I was already trying to figure it out with these, but with no luck.
https://rails.lighthouseapp.com/projects/8994/tickets/5002-nested-objects-dont-deserialized-completely-rails-3-beta-4
http://itsignals.cascadia.com.au/?p=10


http://blog.sbf5.com/?p=39

Any advice would be greatly appreciated.
Martin

After all to bypass this I needed to call the data in database
directly without involvement of “serialize” AR method.

YAML::load(User.first.roles_before_type_cast)

And now test environment also directly parses the data and give me
correct roles Array.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs