I'm stumped. I've been playing with a little patch to the ActiveRecord inheritance, and it's broke a test, namely this one from associations/join_models_test.rb:
post = SubStiPost.create :title => 'SubStiPost', :body => 'SubStiPost body'
assert_instance_of SubStiPost, post
tagging = tags(:misc).taggings.create(:taggable => post)
assert_equal "SubStiPost", tagging.taggable_type
It's failing with <"SubStiPost"> expected but was <"Post">.
I've deduced that "taggable_type" is stored as an attribute of the join model in has_many :through associations, but I can't work out how it is calculated or set. Is there an AR guru who can explain this bit to me?