4

ActiveAdmin 和 better_errors gem 表现不佳。任何渲染错误都会让 Rails 服务器卡住并吃掉我所有的 cpu,需要 akill -9摆脱死亡旋转并捡起碎片。有没有办法在我的应用程序的一个部分有条件地使用 better_errors 而不在 ActiveAdmin 所在的部分使用它?

4

1 回答 1

0

在我的示例中,我准备了 lib/middleware/better_errors_patch.rb。

if Rails.env.development? || Rails.env.test?
  require 'better_errors'

  module BetterErrors
    class Middleware
      def call(env)
        if allow_ip?(env) && !env['PATH_INFO'].match(%r{\/admin\/})
          better_errors_call env
        else
          @app.call env
        end
      end
    end
  end
end

我通过这个monkey_patch解决了它。首先,gem 'better_errors', require: false在您的 Gemfile中设置。然后require './lib/middleware/ex_better_errors'在 application.rb 范围内添加。这个对我有用。

于 2020-02-06T05:31:07.720 回答