Single Table Inheritance (STI) Broken: NameError

Some how I'm getting NameError: uninitialized constant when accessing a child models that inherits form the parent model. However, if I access the parent model first, then the child model is resolved.

What am I doing wrong? My steps are below...

When the constant Dolphin is hit for the first time and is not already loaded, rails expects to find it in dolphin.rb, which doesn't exist (and at this point rails can't know that Dolphin and Blah are related). If you touch Blah then blah.rb is loaded which will also cause Dolphin to be loaded. Either stick to the file naming conventions that allow rails to guess where to load classes from or don't rely on it working.