Tôi cũng thấy điều tương tự.
Theo tài liệu, tùy chọn :dasherize
là to_xml
nên thực hiện thủ thuật.
Một số cấu hình có sẵn thông qua các tùy chọn. [...] Hành vi này có thể được kiểm soát với: chỉ,: ngoại trừ,: skip_instruct,: skip_types,: dasherize và: lạc đà [...] Mặc định là hủy kích hoạt tất cả tên cột, nhưng bạn có thể tắt cài đặt này : dasherize thành false. Cài đặt: camelize thành true sẽ camelize tất cả các tên cột - điều này cũng ghi đè: dasherize.
Vì vậy, có vẻ như, ở mức tối thiểu:
asdf.to_xml(:dasherize => true)
nên làm điều đó, và thêm các tùy chọn :camelize
nên buộc nó.
=> "<?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"
Vì vậy, có thể ai đó có thể 'làm mất anomoly.
Nguồn
2011-01-18 02:19:00
Vấn đề là việc dasherize đang thay đổi dấu gạch dưới thành dấu gạch ngang, không phải dấu cách để gạch ngang. Cùng một điều cho lạc đà: "New_York là tuyệt vời" .camelize = "NewYork là tuyệt vời". Tuy nhiên to_xml không nên cho chúng tôi xuống với một xml – standup75
không đúng định dạng Giới thiệu về sự phá hủy và không gian, Điểm tốt! Duh !, và, vâng, to_xml sẽ hiển thị XML hợp lệ hoặc tăng ngoại lệ hoặc ít nhất có cách để thông báo cho chúng tôi về sự cố. –