notify_airbrake 在自定义 类 上引发错误

notify_airbrake throws error on custom classes

我们在整个代码库中使用空气制动器,除了不从 Rails 层次结构(即 ActiveRecord)继承的自定义 类 外,效果很好。

一些代码:

class Offer
  def counter(amount, qty=1)
    begin
      offers_response = viyet_mage_rest_client.counter_offer(@id.to_i, amount, qty.to_i)
    rescue => e
      notify_airbrake(e)
      offers_response = []
    end
  end
end

在气刹中我们看到:

NoMethodError: undefined method `notify_airbrake' for Offer:Class

作为错误。我要的是实际的错误,而不是报错的错误!

我们的 airbrake.rb 文件:

if Rails.env.production? || Rails.env.staging? 
  Airbrake.configure do |config|
    config.api_key = Settings.airbrake.api_key
    config.secure = true
  end
end

如有任何帮助,我们将不胜感激!

您需要的方法是Airbrake.notify_or_ignore()。对于您给出的示例:

class Offer
  def counter(amount, qty=1)
    begin
      offers_response = viyet_mage_rest_client.counter_offer(@id.to_i, amount, qty.to_i)
    rescue => e
      Airbrake.notify_or_ignore(e)
      offers_response = []
    end
  end
end

可以在此处找到更多详细信息:https://github.com/airbrake/airbrake/wiki/Using-Airbrake-with-plain-Ruby