irb / console错误输出中令人分心的长路径

时间:2011-08-01 15:18:45

标签: ruby-on-rails ruby

这是一个小问题,但它一直困扰着我。

我是否可以从错误输出中省略rails控制台(或irb)的完整路径,如下所示?

NoMethodError: undefined method `to_g' for 8:Fixnum
from (irb):3
from /usr/local/Cellar/ruby/1.9.2-p136/lib/ruby/gems/1.9.1/gems/railties-3.0.8/lib/rails/commands/console.rb:44:in `start'
from /usr/local/Cellar/ruby/1.9.2-p136/lib/ruby/gems/1.9.1/gems/railties-3.0.8/lib/rails/commands/console.rb:8:in `start'
from /usr/local/Cellar/ruby/1.9.2-p136/lib/ruby/gems/1.9.1/gems/railties-3.0.8/lib/rails/commands.rb:23:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'

导致换行,占用大量空间,噪音更大,需要注意。

感谢

2 个答案:

答案 0 :(得分:0)

在IRB中,您可以设置回溯限制,即:irb --back-trace-limit 1

答案 1 :(得分:0)

不幸的是,如果您只打算从脚本/控制台和/或irb中擦除路径,那么这将不是一件非常简单的事情。你可以看一下Kernel如何决定打印堆栈跟踪的内容,但一般来说,不建议尝试使用它来实现这一点 - 它可能会产生很多意想不到的行为。