Как заставить RABL выводить XML по умолчанию - PullRequest
1 голос
/ 11 ноября 2011

Как заставить вывод XML с помощью RABL?Он отображает 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.

Как отобразить представление моих данных в формате XML без отправки application/xml в качестве единственного принимающего заголовка?

Ответы [ 2 ]

1 голос
/ 27 марта 2013

Попробуйте добавить формат по умолчанию к вашему маршруту:

get 'your/url/matcher' => 'controller#method', :defaults => { :format => :xml }
0 голосов
/ 11 ноября 2011

На какой версии Rails вы работаете?Я вполне уверен, что если вы сделаете это, например:

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

Но это в Rails 2. Я уверен, что есть эквивалент для 3.

...