控制器为什么要在Airbrake.notify上使用notify_airbrake

时间:2015-11-04 14:43:06

标签: ruby-on-rails airbrake

Airbrake wiki中,它表示在控制器中使用.z-left-list-item而不是notify_airbrake,但不解释原因。在控制器中使用Airbrake.notify有什么好处?为什么不在其他地方使用?

2 个答案:

答案 0 :(得分:3)

notify_airbrake只是一个辅助方法。您不必使用它(随意使用Airbrake.notify)。但是notify_airbrake会将extra information附加到通知中(如当前用户,会话,Rack环境等)。使用Airbrake.notify,您只会发送传递给方法的内容。

答案 1 :(得分:1)

这是开源之美。您可以查看代码并找出实现方式的原因和方式。

话虽如此,请查看airbrake代码,特别是controller_methods.rb文件(https://github.com/airbrake/airbrake/blob/3033798f69d20706f13fc0e3d79572041e9c7205/lib/airbrake/rails/controller_methods.rb

您可以看到notify_airbrake方法在自动提取一些额外信息(如会话数据,请求网址,请求参数等)之后实际调用Airbrake.notifyAirbrake.notify_or_ignore)的变体在控制器上下文中可用。如果他们没有这样做,我们将不得不在控制器中手动提取该信息并传递它。它只是让我们的生活更轻松:)

我的2美分。