Forum: Ruby on Rails Error loading fixture with serialized field - undefined method `key?'

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Chris (Guest)
on 2009-06-04 03:56
(Received via mailing list)
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: removed_email_address@domain.invalid
  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
Frederick C. (Guest)
on 2009-06-04 11:43
(Received via mailing list)
On Jun 4, 12:55 am, Chris <removed_email_address@domain.invalid> wrote:

> 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
Chris W. (Guest)
on 2009-06-06 03:26
(Received via mailing list)
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

On Thu, Jun 4, 2009 at 3:42 AM, Frederick
This topic is locked and can not be replied to.