当前,当我在Rails应用程序的日志文件中查看时,会得到如下的堆栈跟踪:

NoMethodError (undefined method `[]' for nil:NilClass):
  app/controllers/concerns/example.rb:192:in `rescue in create_example'
  app/controllers/concerns/example.rb:163:in `create_example'
  app/controllers/concerns/example.rb:11:in `example'
  app/controllers/example_controller.rb:39:in `create'

该错误是从包含在gem中的第二个项目触发的。
在example.rb(关注)的第192行中,我们使用了包含的gem中的某些类,并且在该类中发生了真正的异常。

另一个例子:
ZeroDivisionError (divided by 0):
  app/controllers/dummy_controller.rb:15:in `index'

然后在第15行
test_object.divide_by_zero
test_object是包含的gem中定义的类的实例

我希望rails显示并记录包括所有或特定gem的完整stacktrace,但我不知道如何执行此操作。有人知道该怎么做吗?还是可以帮助我朝正确方向发展的人?

谢谢!!!

最佳答案

根据您使用的是哪个版本的rails,这可能会有所帮助:

http://api.rubyonrails.org/classes/ActiveSupport/BacktraceCleaner.html#method-i-remove_silencers-21

10-08 04:23