Как мне инициализировать ActionDispatch :: ParamsParser в Rails 3.1? - PullRequest
4 голосов
/ 26 сентября 2011

Мое приложение определяет пользовательский тип Mime для своего интерфейса Rest.Поэтому я регистрирую его в инициализаторе mime_types.rb:

Mime::Type.register "application/vnd.example.app-v1+xml", :xml_v1

, и Rails правильно обрабатывает блоки respond_to в контроллерах.

Однако мне все еще нужно сообщить Rails, что входящие запросыдолжен быть проанализирован как XML, используя ActionDispatch :: ParamsParser.Я просто не знаю, как использовать его в инициализаторе.Какой правильный путь?

1 Ответ

5 голосов
/ 08 декабря 2011

Это хорошо работает:

Mime::Type.register "application/vnd.example.app-v1+xml", :xml_v1

MyRailsApp::Application.config.middleware.delete "ActionDispatch::ParamsParser"
MyRailsApp::Application.config.middleware.use ActionDispatch::ParamsParser, { Mime::XML_V1 => :xml_simple }
...