Problem with ActiveRecord::AssociationTypeMismatch

Hi all !
I've written a Character model, each character has many Attributes. My
schema.rb looks like this:

create_table "characters", :force => true do |t|
  t.string "first_name"
  t.string "last_name"
  t.integer "user_id"
  t.datetime "created_at"
  t.datetime "updated_at"
end

create_table "attributes", :force => true do |t|
  t.string "name"
  t.float "value"
  t.integer "character_id"
  t.datetime "created_at"
  t.datetime "updated_at"
end

And the models look like this:
class Character < ActiveRecord::Base
  has_many :attributes
  ...
end

class Attribute < ActiveRecord::Base
  belongs_to :character
end

When I want to create a new instance by calling
c = Character.new :first_name => "hello", :last_name => "world"
I get this Error:
ActiveRecord::AssociationTypeMismatch: Attribute(#17724630) expected,
got Array(#104100)
  from /Library/Ruby/Gems/1.8/gems/activerecord-2.1.0/lib/active_record/
associations/association_proxy.rb:214:in `raise_on_type_mismatch'
  from /Library/Ruby/Gems/1.8/gems/activerecord-2.1.0/lib/active_record/
associations/association_collection.rb:229:in `replace'
  from /Library/Ruby/Gems/1.8/gems/activerecord-2.1.0/lib/active_record/
associations/association_collection.rb:229:in `each'
  from /Library/Ruby/Gems/1.8/gems/activerecord-2.1.0/lib/active_record/
associations/association_collection.rb:229:in `replace'
  from /Library/Ruby/Gems/1.8/gems/activerecord-2.1.0/lib/active_record/
associations.rb:1149:in `attributes='
  from /Library/Ruby/Gems/1.8/gems/activerecord-2.1.0/lib/active_record/
base.rb:2130:in `initialize'
  from (irb):1:in `new'
  from (irb):1

I have no idea why I get this error, since I don't specify the
"attributes" key. I hope you can help me, thank you very much in
advance.

Greetings,
Christoph

Hi all !
I've written a Character model, each character has many Attributes. My
schema.rb looks like this:

create_table "characters", :force => true do |t|
t.string "first_name"
t.string "last_name"
t.integer "user_id"
t.datetime "created_at"
t.datetime "updated_at"
end

create_table "attributes", :force => true do |t|
t.string "name"
t.float "value"
t.integer "character_id"
t.datetime "created_at"
t.datetime "updated_at"
end

And the models look like this:
class Character < ActiveRecord::Base
has_many :attributes

Don't do this. You'll overwrite the existing attributes and attributes= methods. Bad stuff will happen.

Fred

Oh my god, I didn't know that "attributes" has a special meaning.
Thank you very much,

Christoph