diff --git a/activerecord/lib/active_record/xml_serialization.rb b/activerecord/lib/active_record/xml_serialization.rb index 78a3a2193c..7a8167534d 100644 --- a/activerecord/lib/active_record/xml_serialization.rb +++ b/activerecord/lib/active_record/xml_serialization.rb @@ -297,11 +297,11 @@ module ActiveRecord #:nodoc: end end end - + class MethodAttribute < Attribute #:nodoc: protected def compute_type - Hash::XML_TYPE_NAMES[@record.send(name).class] || :string + Hash::XML_TYPE_NAMES[@record.send(name).class.name] || :string end end end diff --git a/activerecord/test/base_test.rb b/activerecord/test/base_test.rb index 055f5e8670..9a67426ba2 100755 --- a/activerecord/test/base_test.rb +++ b/activerecord/test/base_test.rb @@ -1340,8 +1340,8 @@ class BasicsTest < Test::Unit::TestCase def test_array_to_xml_including_methods xml = [ topics(:first), topics(:second) ].to_xml(:indent => 0, :skip_instruct => true, :methods => [ :topic_id ]) - assert xml.include?(%(#{topics(:first).topic_id})) - assert xml.include?(%(#{topics(:second).topic_id})) + assert xml.include?(%(#{topics(:first).topic_id})), xml + assert xml.include?(%(#{topics(:second).topic_id})), xml end def test_array_to_xml_including_has_one_association