我在本地和服务器上安装了1.22.0救援。为了能够捕获MultiJson :: DecodeErrors,我将以下内容添加到了我的application.rb:
config.middleware.swap ActionDispatch::ParamsParser, ::MyParamsParser
并将该类添加到我的lib文件夹中。在开发模式下,这可以正常工作,我可以从DecodeErrors中解救,我可以使用:
启动工作QUEUE=* bundle exec rake environment resque:work
在我的服务器上的生产模式中,代码本身也能正常工作,但我的上帝程序无法再次启动工作程序。上帝启动工人后发生的错误:
QUEUE=* /usr/local/rvm/rubies/ruby-1.9.2-p320/bin/ruby /usr/local/rvm/gems/ruby-1.9.2-p320@global/bin/bundle exec rake -f /home/deployer/apps/kassomat/current/Rakefile environment resque:work
rake aborted!
No such middleware to insert before: ActionDispatch::ParamsParser
我试图修补我的application.rb
config.middleware.swap ActionDispatch::ParamsParser, ::MyParamsParser if Object.const_defined?('ActionDispatch') && ActionDispatch.const_defined?('ParamsParser')
但是没有成功。我不明白为什么它在开发中有效但在生产中失败。
有人可以帮忙吗?
此致 菲利克斯