# Problem with composite primary keys, fixtures

**URL:** <https://www.ruby-forum.com/t/problem-with-composite-primary-keys-fixtures/176551>\
**Category:** Rails\
**Created:** [October 2, 2009, 12:39am UTC](https://www.ruby-forum.com/t/problem-with-composite-primary-keys-fixtures/176551 "2009-10-02T00:39:59Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![danielb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/c57346/32.png) [@danielb](https://www.ruby-forum.com/u/danielb)\
**Post date:** [October 2, 2009, 12:39am UTC](https://www.ruby-forum.com/t/problem-with-composite-primary-keys-fixtures/176551/1 "2009-10-02T00:39:59Z")

</div>

Hi,

Rails 2.3.4  
Composite Primary Keys 2.3.2

I’m having trouble loading fixture data for models with composite  
primary keys.

NoMethodError: You have a nil object when you didn’t expect it!  
You might have expected an instance of Array.  
The error occurred while evaluating nil.first  
vendor/gems/composite\_primary\_keys-2.3.2/lib/  
composite\_primary\_keys/base.rb:261:in `find_from_ids' test/unit/site_location_test.rb:10:in`setup’

# site\_location.yml

zzustest-sch01:  
schoolid: ZZUSTEST  
siteid: SCH-01  
latitude: 29.4266  
longitude: -98.54788  
elevation: 224.3  
datasource: 1  
uttimestamp: \<%= Date.new(2009, 6, 18) %\>  
enteredelevation: 198

# line 10 of the setup method

@record = site\_location(‘zzustest-sch01’)

Has anyone else seen this?

Regards,

Dan

---

<div class="post-metadata">

**Author:** ![danielb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/c57346/32.png) [@danielb](https://www.ruby-forum.com/u/danielb)\
**Post date:** [October 2, 2009, 12:50am UTC](https://www.ruby-forum.com/t/problem-with-composite-primary-keys-fixtures/176551/2 "2009-10-02T00:50:32Z")

</div>

Quoting Daniel B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> You might have expected an instance of Array.  
> latitude: 29.4266  
> longitude: -98.54788  
> elevation: 224.3  
> datasource: 1  
> uttimestamp: \<%= Date.new(2009, 6, 18) %\>  
> enteredelevation: 198
> 
> # line 10 of the setup method
> 
> @record = site\_location(‘zzustest-sch01’)

Try: @record = site\_location(:zzustest-sch01)

symbol, not string

HTH,  
Jeffrey

---

<div class="post-metadata">

**Author:** ![danielb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/c57346/32.png) [@danielb](https://www.ruby-forum.com/u/danielb)\
**Post date:** [October 2, 2009, 3:44am UTC](https://www.ruby-forum.com/t/problem-with-composite-primary-keys-fixtures/176551/3 "2009-10-02T03:44:38Z")

</div>

Daniel B. wrote:

> Hi,
> 
> Rails 2.3.4  
> Composite Primary Keys 2.3.2
> 
> I’m having trouble loading fixture data for models with composite  
> primary keys.

That’s partly because fixtures are poorly implemented and create more  
problems than they solve. Consider Machinist instead.

[…]

> Dan

## Best,

Marnen Laibow-Koser  
[http://www.marnen.org](http://www.marnen.org)  
removed\_email\_address@domain.invalid

---

<div class="post-metadata">

**Author:** ![danielb](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/c57346/32.png) [@danielb](https://www.ruby-forum.com/u/danielb)\
**Post date:** [October 2, 2009, 3:50pm UTC](https://www.ruby-forum.com/t/problem-with-composite-primary-keys-fixtures/176551/4 "2009-10-02T15:50:54Z")

</div>

On Oct 1, 4:48 pm, “Jeffrey L. Taylor” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> > # site\_location.yml
> 
> > # line 10 of the setup method
> > 
> > @record = site\_location(‘zzustest-sch01’)
> 
> Try: @record = site\_location(:zzustest-sch01)
> 
> symbol, not string

I don’t think it matters, but I tried it just in case. Same error.

Regards

Dan
