Как заставить RABL выводить XML по умолчанию

Как заставить вывод 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 ответа

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

get 'your/url/matcher' => 'controller#method', :defaults => { :format => :xml }

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

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

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

Другие вопросы по тегам