【rails5】byebugを使ったデバッグの方法


【rails5】byebugを使ったデバッグの方法

変数に入っている値を確認するため、デバッグでどうなっているかを確認した。

忘れそうなので自分用にメモを残す。

手順

①アクション内で、値を確認したいコードの上に、

byebug

と記述する

例
byebug
@user = User.find(params[:id])

②登録ボタン、編集ボタンを押すなど、実際にブラウザ上でアクションを実行させる

③するとrailsサーバーのログに、アクション内のコードが表示される

④、①でbyebugと記述した一行下のコードにカーソル「=>」があることを確認する

railsサーバーのログ画面
例
=> 164:     @user = User.find_by(params[:id])

⑤同画面の一番下で、文字入力が可能な状態になっているので、nextと入力し、一段下のコードへ移動する

⑥、上記④のコードが実行された状態となっているので、確認したい変数を入力する

(本記事の例であれば@user)

すると、値が入っていれば下記のように出力される

(byebug) #<User id: 1, name: "Example User", email: "[email protected]", created_at: "2019-01-12 02:11:57", updated_at: "2019-01-16 07:28:16", password_digest: "$2a$10$ZqufLCEGM/hC2KYlkyzy/.trD0jWUq59FBvlm58kn0c...", remember_digest: nil, admin: true, reset_digest: nil, reset_sent_at: nil

空であればnilと表示される

以上です。

ご指摘等あれば是非お願いいたしますm(__)m