Error loading fixture with serialized field - undefined method `key?'

Hi all,

I'm hoping some kind person out there can help me understand what I'm doing wrong....

I have a user model, which has two serialized fields- class User < ActiveRecord::Base   acts_as_authentic :validate_email_field => false

  has_many :user_domain_roles

  serialize :admin_domains   serialize :manage_domains end

and I'm trying to create some test fixtures for this model: usersiteadmin:   id: 2   login: usersiteadmin   password_salt: <%= salt = User.unique_token %>   crypted_password: <%= Authlogic::CryptoProviders::Sha512.encrypt ("usersiteadmin" + salt) %>   persistence_token: 6cde0674657a8a313ce952df979de2830309aa4c11ca65805dd00bfdc65dbcc2f5e36718660a1d2e68c1a08c276d996763985d2f06fd3d076eb7bc4d97b1e317   login_count: 1   last_request_at: 2009-03-09 19:56:38   last_login_at: 2009-03-09 19:56:38   current_login_at: 2009-03-09 19:56:38   last_login_ip: MyString   current_login_ip: MyString   first_name: usersiteadminfname   last_name: usersiteadminlname   email: me@gmail.com   admin_domains: <%= [1,3,8,2,9,10,11,7].to_yaml %>   manage_domains: ---

However, when I try to rake I get this error when the fixtures are loading: NoMethodError: undefined method `key?' for [1, 3, 8, 2, 9, 10, 11, {"7\nmanage_domains"=>"--- "}]:Array

I get the exact same error when I try to generate the string explicitly:   admin_domains: <%= "--- \n- 1\n- 3\n- 8\n- 2\n- 9\n- 10\n- 11\n- 7" %>

I have no idea why it doesn't like my fixture and would really appreciate any pointers on the matter. Thanks

  -Chris W

However, when I try to rake I get this error when the fixtures are loading: NoMethodError: undefined method `key?' for [1, 3, 8, 2, 9, 10, 11, {"7\nmanage_domains"=>"--- "}]:Array

I get the exact same error when I try to generate the string explicitly: admin_domains: <%= "--- \n- 1\n- 3\n- 8\n- 2\n- 9\n- 10\n- 11\n- 7" %>

I have no idea why it doesn't like my fixture and would really appreciate any pointers on the matter. Thanks

You might want to stick quotes around that string to stop yaml parsing it

Fred

Hi Fred,

Yup - quotes did the trick! In hindsight that makes perfect sense, but it would have taken me a long time to figure it out on my own.

Much thanks!

  -Chris W