Rails呈现Xml

时间:2014-05-29 06:43:57

标签: ruby-on-rails xml

在我的Rails应用程序中,我执行以下操作:

def test  
    data={:student=>{:name=>'hxh',:age=>12}}
    render xml: data 
end

我得到了

<hash slick-uniqueid="3">
  <div>
    <a id="slick_uniqueid"/>
  </div>
  <student>
    <name>hxh</name>
    <age type="integer">12</age>
  </student>
</hash>

但我只是想:

<student>
    <name>hxh</name>
    <age type="integer">12</age>
 </student> 

我应该如何实现这一点?

1 个答案:

答案 0 :(得分:5)

在控制台玩了几分钟之后,我可以给你这个解决方案:

将哈希值设置为:

data = {:name=>'hxh',:age=>12}

现在您可以使用:root选项指定根目录:

data.to_xml(root: "student")

这将产生以下结果:

<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<student>
    <name>hxh</name>
    <age type=\"integer\">12</age>
</student>

您还可以添加此选项:skip_instruct => true以摆脱第一行。

另请阅读documentation here