2

我在 Rails 中使用控制台来检查一些对象,如下所示:

dc = DependencyCondition.new
# => #<DependencyCondition id: nil, dependency_id: nil, rule_key: nil, question_id: nil, operator: nil, answer_id: nil, datetime_value: nil, integer_value: nil, float_value: nil, unit: nil, text_value: nil, string_value: nil, response_other: nil, created_at: nil, updated_at: nil>

我发现这个输出很难阅读和检查,尤其是对于多个对象。如果输出是这样的,我会很高兴:

# => #<DependencyCondition id: nil, 
       dependency_id: nil, rule_key: nil, 
       question_id: nil, 
       operator: nil, 
       answer_id: nil, 
       datetime_value: nil, 
       integer_value: nil, 
       float_value: nil, 
       unit: nil, 
       text_value: nil, 
       string_value: nil, 
       response_other: nil, 
       created_at: nil, 
       updated_at: nil>

有没有一种简单的方法可以实现这一目标,或者我可能已经知道我不知道的事情?

4

4 回答 4

3

安装名为hirb. 您可以通过以下命令安装此 gem:

gem install 'hirb'

然后启动rails console并输入以下命令,

> require 'hirb'

> Hirb.enable

完毕。您的输出将采用格式化的方式。

于 2013-11-11T07:59:38.253 回答
1

您可以使用pry,它是 irb 的一个很好的替代品,它在下面列出的 RailsCast 中有很多很棒的功能。

RailsCast #280: Pry with RailsPry 是 IRB 的替代品,具有许多出色的功能。在这里,我将展示如何将它集成到 Rails 应用程序中,以及它如何帮助调试。

输出不会完全符合您的要求,但我发现它比 irb 中的输出更具可读性。

于 2012-09-26T19:51:50.697 回答
0

尝试 yaml 输出:

y dc = DependencyCondition.new

require 'yaml'如果您收到 NoMethodError ,您可能还需要y

于 2016-02-04T18:40:39.687 回答
0

如果使用 Pry(如已接受答案中的建议),您还可以选择自己的输出格式

永久(在 .pryrc 文件中):

Pry.config.print = proc { |output, value| output.puts "=> #{value.inspect}" }

暂时(在 repl 会话中):

_pry_.config.print = proc { |output,value| output.puts "=> #{value.inspect}" }

于 2018-10-21T09:11:50.860 回答