# Error loading fixtures with classes that set\_table\_name

**URL:** <https://www.ruby-forum.com/t/error-loading-fixtures-with-classes-that-set-table-name/140946>\
**Category:** Rails\
**Created:** [June 20, 2008, 12:52am UTC](https://www.ruby-forum.com/t/error-loading-fixtures-with-classes-that-set-table-name/140946 "2008-06-20T00:52:08Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![bcm](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/977dab/32.png) [@bcm](https://www.ruby-forum.com/u/bcm)\
**Post date:** [June 20, 2008, 12:52am UTC](https://www.ruby-forum.com/t/error-loading-fixtures-with-classes-that-set-table-name/140946/1 "2008-06-20T00:52:08Z")

</div>

Hi all,

I just hit a big wall involving a legacy database. I’ve got an active  
record class called “School” that uses “set\_table\_name ‘old\_school’” to  
map to a legacy database table:

class School \< ActiveRecord::Base  
set\_table\_name ‘old\_school’  
end

It works great, until I’m testing and I want to use fixtures. I’ve got  
a fixtures file called “old\_school.yml” that doesn’t load. Following  
some googled advice  
([http://www.missiondata.com/blog/uncategorized/80/rails-fixtures-with-models-using-set\_table\_name/](http://www.missiondata.com/blog/uncategorized/80/rails-fixtures-with-models-using-set_table_name/))  
I learned that I had to use set\_fixture\_class to be able to map the  
fixture back to the class name:

# in test\_helper.rb

class Test::Unit::TestCase  
self.use\_transactional\_fixtures = true  
self.use\_instantiated\_fixtures = false

set\_fixture\_class :old\_school =\> School

fixtures :all  
end

Seems like it ought to work, but the fixtures still don’t load!

Looking in my test.log I find:

Unable to load old\_school, underlying cause no such file to load –  
old\_school

/Library/Ruby/Site/1.8/rubygems/custom\_require.rb:27:in  
`gem_original_require' /Library/Ruby/Site/1.8/rubygems/custom_require.rb:27:in `require’  
/Library/Ruby/Gems/1.8/gems/activesupport-2.1.0/lib/active\_support/dependencies.rb:509:in  
`require' /Library/Ruby/Gems/1.8/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:354:in `new\_constants\_in’  
/Library/Ruby/Gems/1.8/gems/activesupport-2.1.0/lib/active\_support/dependencies.rb:509:in  
`require' /Library/Ruby/Gems/1.8/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:101:in `require\_or\_load’  
/Library/Ruby/Gems/1.8/gems/activesupport-2.1.0/lib/active\_support/dependencies.rb:60:in  
`depend_on' /Library/Ruby/Gems/1.8/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:456:in `require\_dependency’  
/Library/Ruby/Gems/1.8/gems/activerecord-2.1.0/lib/active\_record/fixtures.rb:855:in  
`try_to_load_dependency' /Library/Ruby/Gems/1.8/gems/activerecord-2.1.0/lib/active_record/fixtures.rb:870:in `require\_fixture\_classes’  
/Library/Ruby/Gems/1.8/gems/activerecord-2.1.0/lib/active\_record/fixtures.rb:867:in  
`each' /Library/Ruby/Gems/1.8/gems/activerecord-2.1.0/lib/active_record/fixtures.rb:867:in `require\_fixture\_classes’  
/Library/Ruby/Gems/1.8/gems/activerecord-2.1.0/lib/active\_record/fixtures.rb:850:in  
`fixtures' ./test/test_helper.rb:15 test/functional/admin_controller_test.rb:1:in `require’  
test/functional/admin\_controller\_test.rb:1

If I “require ‘school’” by hand, it makes no difference. The fixtures  
still don’t load.

Has anybody run in to this? Does anyone have any suggestions?

Thanks!

Brent

---

<div class="post-metadata">

**Author:** ![bcm](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/977dab/32.png) [@bcm](https://www.ruby-forum.com/u/bcm)\
**Post date:** [July 28, 2008, 11:25pm UTC](https://www.ruby-forum.com/t/error-loading-fixtures-with-classes-that-set-table-name/140946/2 "2008-07-28T23:25:43Z")

</div>

On Jun 19, 3:52 pm, Brent M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> set\_fixture\_class :old\_school =\> School

Use a string, not a class, so ‘School’, instead of School

---

<div class="post-metadata">

**Author:** ![bcm](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/b/977dab/32.png) [@bcm](https://www.ruby-forum.com/u/bcm)\
**Post date:** [July 30, 2008, 11:39pm UTC](https://www.ruby-forum.com/t/error-loading-fixtures-with-classes-that-set-table-name/140946/3 "2008-07-30T23:39:04Z")

</div>

Of course!

You know, in hindsight, that seems rather trivially simple. I have no  
idea why I didn’t try that way back when. Moron award for me. :+)

Thanks! I’m happy to resume full testing now. 🙂

Brent

Tim C. wrote:

> On Jun 19, 3:52ï¿½pm, Brent M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
> wrote:
> 
> > ï¿½ set\_fixture\_class :old\_school =\> School
> 
> Use a string, not a class, so ‘School’, instead of School
