1

如何使用 RABL 强制 XML 输出?它将 JSON 呈现为默认值,效果很好。当我访问我的页面时

curl -H "Accept: application/xml" -X GET (myurl)

RABL 按预期呈现 XML。但是,当我使用浏览器访问相同的 URL 时,响应是 JSON。我试过设置

ActionView::Template::Handlers::Rabl.default_format = Mime::XML

render "index.rabl", :content_type => 'application/xml'

在这种情况下,rails 返回 application/xml 作为内容类型,但仍返回 JSON。

如何在不application/xml作为唯一接受标头发送的情况下呈现我的数据的 XML 表示?

4

2 回答 2

1

尝试为您的路线添加默认格式:

get 'your/url/matcher' => 'controller#method', :defaults => { :format => :xml }
于 2013-03-27T18:34:03.263 回答
0

你在哪个版本的 Rails 上?例如,我很确定您是否这样做:

respond_to do |format|
  format.xml # renders rabl as xml
  format.json # render rabl as json
end

但那是在 Rails 2 中。我相信 3 有一个等价物。

于 2011-11-11T10:56:31.530 回答