ruby-on-rails – Rails:渲染XML添加标签

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails:渲染XML添加标签前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个Rails控制器,它将以 XML格式输出哈希,例如:
class MyController < ApplicationController
  # GET /example.xml
  def index        
    @output = {"a" => "b"}

    respond_to do |format|
      format.xml  {render :xml => @output}
    end
  end
end

但是,Rails添加了< hash>标签,我不想要,即:

<hash>
  <a>
    b
  </a>
</hash>

我该如何输出呢?

<a>
  b
</a>

解决方法

我想如果将对象转换为XML,则需要一个包装所有内容标签,但您可以自定义包装器的标签名称
def index        
  @output = {"a" => "b"}

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

这将导致:

<output>
  <a>
    b
  </a>
</output>

猜你在找的Ruby相关文章