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 にあります。Rails 3 に相当するものがあると確信しています。

于 2011-11-11T10:56:31.530 に答える