我将Ruby on Rails与 pry 式 gem 一起使用。当在rake任务期间发生错误时,我会得到一个很好的堆栈跟踪。
但是,当我在Rails控制台中执行触发异常的操作时,我只会看到错误消息和触发该异常的一行代码(大多数时间在rails核心中的某处)。
有没有一种方法可以在控制台中启用这些堆栈转储?
最佳答案
我自己找到了解决方案。
显然,我需要pry附带的wtf?
命令。
[7] project » p.known_attributes
NoMethodError: undefined method `foo' for #<Bar:0x007f871fd12a38>
from /[...]/gems/activemodel-4.0.0/lib/active_model/attribute_methods.rb:436:in `method_missing'
[8] project » wtf?
Exception: NoMethodError: undefined method `foo' for #<Bar:0x007f871fd12a38>
--
[... stack dump ...]
[9] project »