2012-09-26 93 views
2

我使用Rails中控制檯檢查一些對象,就像這樣:格式化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> 

有一種簡單的方式實現這一目標什麼的,我應該可能已經知道我沒有?

回答

1

您可以使用pry,這是irb的一個很好的選擇,它在下面列出的RailsCast中有很多很棒的功能。

RailsCast #280: Pry with RailsPry是IRB的替代品,並具有很多很棒的功能。在這裏我展示瞭如何將它集成到Rails應用程序中,以及它如何幫助調試。

輸出結果並不完全符合您的要求,但我發現它比irb中的輸出更具可讀性。

+0

撬看起來真的很酷一個NoMethodError。我實際上是用來和那個爲他們做介紹性的截屏視頻的人Josh Cheek一起工作的。他是個好人。我想我會花時間學習如何使用它。謝謝。 –

+0

這實際上並沒有回答這個問題。 pry是比irb更好的工具,但需要具體的功能才能獲得OP正在尋找的輸出。在上面的問題中簡單地做他正在做的事情會產生一大堆難以閱讀的文本。 – Todd

3

安裝寶石名爲hirb。您可以通過命令來安裝這個gem:

gem install 'hirb'

然後啓動你的rails console並輸入以下命令,

> require 'hirb'

> Hirb.enable

完成。您的輸出將採用格式化的方式。

+1

謝謝,這真的很有幫助和容易。 – hmartinezd

0

嘗試YAML輸出:

y dc = DependencyCondition.new

您可能還需要require 'yaml'如果你對y