Inconsistent Hash#to_xml Method

I have a unit test that demonstrates some inconsistent behavior with a
Hash being converted to XML with the :root option. Sometimes it works
fine:

Hash.new.to_xml(:root => ‘test’)
“<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n\n”

But sometimes I get an argument error:

Hash.new.to_xml(:root => ‘test’)
ArgumentError Exception: wrong number of arguments (1 for 0)

I thought it may be a bug related to the version of Rails, but I have
tried several versions and have the same problem. Anyone have any
ideas of where I should be looking?

Thanks,
Tom

On 11 Feb 2010, at 15:43, TomRossi7 wrote:

ArgumentError Exception: wrong number of arguments (1 for 0)

I thought it may be a bug related to the version of Rails, but I have
tried several versions and have the same problem. Anyone have any
ideas of where I should be looking?

Sounds to me you are including some other class that has the to_xml
method somewhere. It can be either something an outdated plugin uses
or some code in your lib/ folder or part of a gem. That’s why it only
happens “sometimes”, it only happens in classes that have the non-
Rails to_xml method loaded.

Best regards

Peter De Berdt

Yep! I found an old plugin that was actually overwriting the
Hash#to_xml method! Thanks!

–Tom