Ruby on rails 如何在RubyonRails中以xml格式发送(模型对象为)响应?

Ruby on rails 如何在RubyonRails中以xml格式发送(模型对象为)响应?,ruby-on-rails,ruby,rest,ruby-on-rails-5,Ruby On Rails,Ruby,Rest,Ruby On Rails 5,我对Ruby和RubyonRails非常陌生,我一直在寻找一种方法,通过我正在使用RubyonRails构建的RESTAPI以xml格式发送响应。到目前为止运气不好 这是我目前掌握的代码: respond_to do |format| format.json do render json: { terminals: @terminals } end format.xml do render xml: { terminals: @terminals }.to_xml

我对Ruby和RubyonRails非常陌生,我一直在寻找一种方法,通过我正在使用RubyonRails构建的RESTAPI以xml格式发送响应。到目前为止运气不好

这是我目前掌握的代码:

respond_to do |format|
  format.json do
    render json: { terminals: @terminals }
  end
  format.xml do
    render xml: { terminals: @terminals }.to_xml
  end
end
它有点工作,但输出是我无法理解的:

<?xml version="1.0" encoding="UTF-8"?>
<hash>
    <terminals type="Terminal">#&lt;Terminal:0x007f1db02b6900&gt;</terminals>
</hash>

#端子:0x007f1db02b6900

我甚至不知道如何在网上搜索这个问题。我试着查阅了文档,但没有找到解决方案。真的需要一些帮助!提前谢谢

您不需要调用
来对要渲染的对象执行xml
。如果使用:xml选项,render将自动为您调用_xml

   respond_to do |format|
      format.xml {render :xml => @terminals}
   end
或者在Rails 4中,简单地说:

render :xml => @terminals

它返回对象的内存地址。也许不需要使用xml就可以完成它。谢谢