set_belongs_to_association_for question?

Hi,
Lets suppose a Resource and Relation model exist and Article and a
Comment inherit from Resource and an ArticleComment defines a
relationship. When everything is setup and you create your instances
and save them this is what is saved in the database.

RESOURCES

id | description | type
14 | NULL | SpotArticle
15 | NULL | Comment

RELATIONS

id | source_resource_id | target_resource_id | type
source_resource_type | target_resource_type
4 | 14 | 15 |

ArticleComment | SpotArticle | Comment

At least this is what I would like to have in the database. But the
source_resource_type and target_resource_type both contain "Resource"
instead. Looking at the rails code I saw in
"ActiveRecord::Associations::AssociationProxy.set_belongs_to_association_for"
that the Class.base_name is stored instead of the Class.name and this
results in the base class name Resource.

Is there anybody who knows why the Class.base_name is used here?
Is there a better way of doing this? Without having to override
set_belongs_to_association_for?

Mehmet

Setup stuff

def self.up
  create_table :relations do |t|
     t.integer :source_resource_id, :target_resource_id
     t.string :source_resource_type, :target_resource_type, :type
     t.timestamps
  end

  create_table :resources do |t|
     t.string :type; :description
     t.timestamps
   end
end

class Resource < ActiveRecord::Base
end

class Relation < ActiveRecord::Base
end

class Article < Resource
end

class SpotArticle < Article
    has_many :article_comments, :as => :source_resource, :dependent
=> :destroy
end

class Comment < Resource
    has_many :article_comments, :as => :target_resource, :dependent
=> :destroy
end

class ArticleComment < Relation
    belongs_to :source_resource, :polymorphic => true, :class_name =>
'SpotArticle'
    belongs_to :target_resource, :polymorphic => true, :class_name =>
'Comment'
end