This forum has been of no help before, but I am nothing daunted.
I have a “people” table, mapping to a Person ActiveRecord class, which
has two subclasses, Principal and Secondary. There is a type column.
There is a “locations” table, mapping to Location. Location belongs_to
Principal. Principal has_many Locations. There is a principal_id column
There is a LocationsController. It renders rhtml, which contains
<%= @location.principal.full_name %>
… to which Rails complains “uninitialized constant
Location::Principal”. locations_controller.rb does not refer to
Principal. The problem must come from the class information in the
relationship, or possibly in the STI type information.
If I change the belongs_to to:
belongs_to :principal, :class_name => “Person”, :foreign_key =>
it works, but this bothers me. It is not what I intend. Locations belong
to Principals, not to People in general.
The alternative, I think, is to have locations_controller.rb require
‘person’, but that gives me problems with reloading in development mode.
What should I do?
$ ruby --version
ruby 1.8.6 (2008-03-03 patchlevel 114) [universal-darwin9.0]
$ rails --version