我将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 »

10-04 18:17