String to XML:
>> obj = Hash.from_xml('<addresses><address><name>1</name></address><address><name>2</name></address></addresses>')
=> {"addresses"=>{"address"=>[{"name"=>"1"}, {"name"=>"2"}]}}
address
(错误地)变为addres
(s
个<name>
标记丢失>> print obj.to_xml
<?xml version="1.0" encoding="UTF-8"?>
<hash>
<addresses>
<address type="array">
<addres>
<name>1</name>
</addres>
<addres>
<name>2</name>
</addres>
</address>
</addresses>
</hash>
=> nil
:
to_xml
如何从正规化标签中禁用ActiveSupport::Inflector.inflections do |inflect|
inflect.irregular 'address', 'addresses'
end
?
更新:
在config / initializers / inflections.rb中添加:
addres
但仍然提供相同的{{1}}代码。
答案 0 :(得分:0)
我猜测to_xml
引用尝试对多元化有所了解。你可能想尝试在config/initializers/inflections.rb添加一行来说服它采取其他行动。
像
这样的东西inflect.irregular 'address', 'addresses'
也许?