Я тоже вижу то же самое.
Согласно документам, опция :dasherize
для to_xml
должна помочь.
Некоторые настройки доступны через опции. [...]
Этим поведением можно управлять с помощью: only,: кроме,: skip_instruct,: skip_types,: dasherize и: camelize [...]
По умолчанию дашеризуют все имена столбцов, но вы можете отключить этот параметр: dasherize в false. Установка: camelize в true верблизует все имена столбцов - это также переопределяет: dasherize.
Итак, похоже, как минимум:
asdf.to_xml(:dasherize => true)
должен сделать это, и добавление опции :camelize
должно заставить его.
=> "<?xml version="1.0" encoding="UTF-8"?>\n<Hash>\n <New York type="integer">33</New York>\n <Versailles type="integer">3231</Versailles>\n</Hash>\n"
Так что, может быть, кто-то может «расхвалить аномалию».