当前位置:  开发笔记 > 编程语言 > 正文

在Rails控制台中禁用堆栈跟踪显示

如何解决《在Rails控制台中禁用堆栈跟踪显示》经验,为你挑选了1个好方法。

有没有办法减少rails控制台中错误报告的冗长程度?具体来说,关闭堆栈跟踪显示?这在大多数时候都没用,而且当我遇到愚蠢的手指时,彻底烦人.

当我输入类似的内容时:

MyModel.vtrsyr

我不需要堆栈跟踪来告诉我没有'vtrsyr'方法



1> Ian..:

重要的是rails控制台使用irb,并且可以访问irb配置选项

$ rails c
Loading development environment (Rails 4.2.0)
>> conf
=> conf.ap_name="irb"
conf.auto_indent_mode=false
conf.back_trace_limit=16
.
.
.

它是:conf.back_trace_limit.所以:

conf.back_trace_limit = 0

将有效地禁用当前会话的回溯,输出将是简洁明了的:

>> MyModel.gnu
NoMethodError: undefined method `gnu' for MyModel:Class

要么

>> obj.do_defective_math
ZeroDivisionError: divided by 0

为了使事情更方便,可以在〜/ .irbrc中定义一个函数.就像是:

def toggle_trace
  if conf.back_trace_limit > 0
    conf.back_trace_limit = 0
  else
    conf.back_trace_limit = IRB.conf[:BACK_TRACE_LIMIT]
  end
end

可以将其称为控制台会话,以根据需要禁用或启用后向跟踪

推荐阅读
有风吹过best
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有