set_belongs_to_association_for

I have a question on
"ActiveRecord::Associations::AssociationProxy.set_belongs_to_association_for"
it is a protected method.

        def set_belongs_to_association_for(record)
          if @reflection.options[:as]
            record["#{@reflection.options[:as]}_id"] = @owner.id
unless @owner.new_record?
            record["#{@reflection.options[:as]}_type"] =
@owner.class.base_class.name.to_s
          else
            record[@reflection.primary_key_name] = @owner.id unless
@owner.new_record?
          end
        end

I was wondering why class.base_name was used for the record type and
not class.name?

Mehmet