Ruby on Rails5 でデバッグするにはlogger.debugを使う

NO IMAGE

phpであればprint_r()関数があります。
Ruby on Rails5におけるデバッグ方法はどうなのでしょうか?
検索したら出てきた方法を雑にまとめておきます。
logger.debug()



logger.debug()

RailsはMVCパターンである。

Controllerでデバッグする場合

app/controller/data_controller.rb

logger.debug("hoge")

なおViewでも使える模様

app/view/index.html.erb


<% logger.debug("デバッグなーう") %>

これらのログはRailsアプリディレクトリのlog/development.logに吐き出される

tail -f log/development.log

で監視しながら値を確認することができる。
なお、

rails s

だけで実行してもlog/development.logの内容が出力される。コンソールを二つ開いて1画面はログ監視、もう1画面は作業用と分けて開発するとやりやすい。

変数の中身を知る

デバッグするなら絶対知っておきたい変数の中身の取得方法

app/controller/data_controller.rb

@data = Data.all
logger.debug(@data.inspect)

inspectメソッドで詳細が出力される。

log/development.log

#<ActiveRecord::Relation [#<Data id: 1, name: "aaa">, #<Data id: 2, name: "bbb">]>

参考資料