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

**URL:** <https://www.ruby-forum.com/t/content-keys-build-works-even-when-content-keys-is-empty-array-how/187753>\
**Category:** Rails\
**Created:** [April 28, 2010, 9:10pm UTC](https://www.ruby-forum.com/t/content-keys-build-works-even-when-content-keys-is-empty-array-how/187753 "2010-04-28T21:10:50Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![oreng](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/o/8e8cbc/32.png) [@oreng](https://www.ruby-forum.com/u/oreng)\
**Post date:** [April 28, 2010, 9:10pm UTC](https://www.ruby-forum.com/t/content-keys-build-works-even-when-content-keys-is-empty-array-how/187753/1 "2010-04-28T21:10:50Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![oreng](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/o/8e8cbc/32.png) [@oreng](https://www.ruby-forum.com/u/oreng)\
**Post date:** [April 28, 2010, 11:17pm UTC](https://www.ruby-forum.com/t/content-keys-build-works-even-when-content-keys-is-empty-array-how/187753/2 "2010-04-28T23:17:17Z")

</div>

On Apr 28, 8:09 pm, oren [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> 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

---

<div class="post-metadata">

**Author:** ![oreng](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/o/8e8cbc/32.png) [@oreng](https://www.ruby-forum.com/u/oreng)\
**Post date:** [April 29, 2010, 12:08am UTC](https://www.ruby-forum.com/t/content-keys-build-works-even-when-content-keys-is-empty-array-how/187753/3 "2010-04-29T00:08:13Z")

</div>

got it.  
too bad .class don’t shows me Array…

On Apr 28, 9:16 pm, Frederick C. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)
