ActiveAdmin和better_errors gem不会玩得很好。任何渲染错误都会使Rails服务器占用并占用我所有的cpu,需要kill -9
才能摆脱死亡旋转并挑选碎片。有没有办法在我的应用程序的一个部分有条件地使用better_errors而不在ActiveAdmin所在的部分使用它?
答案 0 :(得分: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解决了它。首先,在Gemfile中设置gem 'better_errors', require: false
,然后在application.rb作用域中添加require './lib/middleware/ex_better_errors'
。它对我有用。