我想采用一个大的JSON PUT请求并在后台使用Sidekiq完全处理它.因此,我不想从请求的正文中自动解析传入的JSON.
什么是在控制器/基于操作的级别上实现此目的的最佳实践?
据我所知,这是通过Rack中间件完成的,所以我认为你不能只为一个控制器/动作禁用它开箱即用.你可以修补ActionDispatch::ParamsParser
类似于这个人做的:
http://www.jkfill.com/2015/02/21/skip-automatic-params-parsing/
当然,您可以编写自己的中间件来解析参数,或者为JSON MIME类型指定自定义解析器.
最后,您可以一起禁用JSON解析.在你的config/application.rb中添加:
config.middleware.swap ActionDispatch::ParamsParser, ActionDispatch::ParamsParser, Mime::JSON => nil