Rails:呈现XML添加标记

我有一个Rails控制器,它将以XML格式输出一个哈希 – 例如:

class MyController  "b"} respond_to do |format| format.xml {render :xml => @output} end end end 

但是,Rails添加了一个我不想要的标签,即:

   b   

我怎样才能输出这个呢?

  b  

我认为如果您要将对象转换为XML,则需要一个包装所有内容的标记,但您可以自定义包装器的标记名称:

 def index @output = {"a" => "b"} respond_to do |format| format.xml {render :xml => @output.to_xml(:root => 'output')} end end 

这将导致:

   b   

我有同样的问题;

这是我的XML:

      

我正在使用这个:

 entries.to_xml 

将哈希数据转换为XML,但这会将条目的数据包装到

所以我修改了:

 entries.to_xml(root: "Contacts") 

但仍然将转换后的XML包装在“联系人”中。 将我的XML代码修改为

            

所以它增加了额外的ROOT,我不会在那里。

现在解决这个问题的方法是:

  entries["Contacts"].to_xml(root: "Contacts") 

避免或包含任何其他根。 干杯!!