@content.keys.build works even when @content.keys is empty array. how?

my models: content has_many keys
I don't understand how is it possible that empty array will have
'build' method?

@content = Content.create(:text => 'test')
=> #<Content id: 3, text: "test", created_at: "2010-04-28 19:04:19",
updated_at: "2010-04-28 19:04:19">

@content.keys
=> []

but this works. can someone explain how can it be?
@content.keys.build
=> #<Key id: nil, name: nil, content_id: 3, created_at: nil,
updated_at: nil>

Thanks

my models: content has_many keys
I don't understand how is it possible that empty array will have
'build' method?

Because it's not actually an array - it's an association proxy.

Fred

got it.
too bad .class don't shows me Array..