Techioz Blog

var_dump と php のように死ぬ、Ruby on Rails (Ruby on Rails でデバッグ)

概要

これは繰り返しの質問かもしれません。しかし、オブジェクトを表示できません。

私はRubyの初心者で、var_dumpやprint_rのようなデバッグを試みましたが、PHPで死にました

これが私のコードです。

@brand_id = Brand.maximum("brand_id")

次の方法を試しました

1 puts YAML::dump(@brand_id)
2 logger.debug { @brand_id.inspect }

誰か解決を手伝ってくれませんか?

解決策

Rails はビューをブラウザーにのみ出力します。その他の出力はサーバーの STD_OUT に送信されます。

ビューからのデバッグは簡単です。

<%= debug @brand %>

ただし、コントローラーまたはモデルの内部からデバッグするには、abort で実行を停止する必要があり、エラー ページが出力されます。

abort @brand.inspect

または、次のように Rails ログに書き込むこともできます。

logger.debug(@brand.inspect)

シェルから tail -f /logs/development.log を使用すると、ログを読み取ることができます。