ruby-on-rails - rails : Can I disable the better_errors gem in certain domains?

标签 ruby-on-rails rubygems activeadmin better-errors-gem

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

最佳答案

在我的示例中,我准备了 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 范围内。这个对我有用。

关于ruby-on-rails - rails : Can I disable the better_errors gem in certain domains?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24641596/

相关文章:

javascript - Rails json 返回带有 jbuilder html 标签

ruby-on-rails - 升级到 ruby​​ 2.5.1 后,rails 服务器失败并显示 "warning: constant::Fixnum is deprecated"

ruby-on-rails - 我的 CkEditor 在 Active Admin 中看起来不太好

ruby - ActiveAdmin 索引作为 Leaflet 映射

ruby-on-rails - 如何使用 ActiveAdmin 创建 STI 子类的对象

css - 将样式表移动到我的 assets/css 目录中

ruby-on-rails - 测试 rails 中 delayed_job 插件的优先级

ruby-on-rails - Windows Azure 虚拟机中的 Ruby on Rails 应用程序

ruby - Ruby 中的 STL 支持

HTML 表单复选框未按预期提交