目前,当我查看我的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,但我无法弄清楚如何执行此操作。有人知道怎么做吗?还是有人可以帮助我朝正确的方向努力?
感谢!!!
答案 0 :(得分:4)
根据您使用的导轨版本,这可能有所帮助:
http://api.rubyonrails.org/classes/ActiveSupport/BacktraceCleaner.html#method-i-remove_silencers-21
答案 1 :(得分:3)
它的使用方式如下:
Rails.backtrace_cleaner.remove_silencers!