如何在Rails 3.1中初始化ActionDispatch :: ParamsParser?

Rôm*_*con 4 ruby-on-rails mime-types ruby-on-rails-3.1

我的应用程序为其Rest接口定义了一个自定义Mime类型.所以我在mime_types.rb初始化器中注册它:

Mime::Type.register "application/vnd.example.app-v1+xml", :xml_v1
Run Code Online (Sandbox Code Playgroud)

和Rails正确处理respond_to控制器中的块.

但是,我仍然需要告诉Rails,使用ActionDispatch :: ParamsParser将传入的请求解析为XML.我只是不知道如何在初始化程序中使用它.什么是正确的方法?

Rôm*_*con 5

这很好用:

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 }
Run Code Online (Sandbox Code Playgroud)