I'm way back at Rails 2.3.5. I can move up to 2.3.11 if anyone thinks
that will help. My problem is this:
class Entity < ActiveRecord::Base
belongs_to :item, :polymorphic => true
end
class Name < ActiveRecord::Base
has_one :entity, :class_name => "Entity", :as => :item
end
class Team < Name
end
The has_one does not work. It searches for the base_class of item
"Name" instead of the class "Team". I see where these is a "trick"
where you can change item_type= in the documentation but that causes me
other problems.
I tried moving the has_one to Team but that didn't change anything.
What exactly is "not working" here? Polymorphic associations are
designed to store the class that's needed to retrieve the associated
record - storing the STI subclass instead of the base would mean that
the STI type was stored in *two* locations (both in the 'type' field
on the record, and in 'item_type' on the associated Entity record)
which is generally regarded as *bad*.
Note that base-class finds still return objects of subclasses (this
isn't C++ ):