使用awesome_print显示的信息太多

时间:2015-05-28 08:36:37

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4

我正在使用awesome_print,当我运行调用awesome_print的命令时,会返回以下结果:

 irb(main):002:0> ap User.find(1)
    ←[1m←[36mUser Load (0.0ms)←[0m  ←[1mSELECT  "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1←[0m  [["id", 1]]
    #<User:0x57d9650> {
        :id←[0;37m => ←[0m←[1;34m1←[0m,
        :name←[0;37m => ←[0m←[0;33m"aa"←[0m,
        :email←[0;37m => ←[0m←[0;33m"aa"←[0m,
        :created_at←[0;37m => ←[0m←[0;32mTue, 26 May 2015 15:13:51 UTC +00:00←[0m,
        :updated_at←[0;37m => ←[0m←[0;32mTue, 26 May 2015 15:13:51 UTC +00:00←[0m

但是,我注意到会显示←[0;37m之类的信息。

我有两个问题:

  • ←[0;37m之类的内容是什么意思?
  • 如何删除上述表示法以打印如下结果:

    :id => 1,
    :first_name => "aa",
    :last_name => "aa"
    :created_at => Tue, 26 May 2015 15:13:51 UTC +00:00
    

提前谢谢!

2 个答案:

答案 0 :(得分:1)

0;37m - 类型内容是ANSI颜色代码 - 您当前的设置可能无法正确呈现它们。

您应该可以通过修改awesome_print中的默认颜色设置来删除这些符号。可以在 config / initializers 目录中创建文件awesome_print.rb

配置/初始化/ awesome_print.rb:

AwesomePrint.defaults = {
  :plain => true # do not use colors
  # any further default settings you wish to specify
}

希望它有所帮助!

答案 1 :(得分:0)

如果您不使用颜色,也可以不使用awesome_print gem。红宝石是用纯文本打印的。

require 'pp'
pp User.find(1)

您可能正在Windows机器上运行此操作,如果是,请查看ANSI color codes for Windows Command Prompt