Web Marina

日々の業務や勉強などで得た知識をアウトプットしていきます。

「debugger」その使い方・・・そして気付く。

f:id:song-of-life1352607:20170221152659j:plain

こんにちは、マリンです。

皆さんはデバッグしながら開発してますか?

すみません。当たり前ですよね・・・

しかし私は勉強中、こいつの使い方やタイミングがいまいちわかりませんでした。

今回初めてこの「debugger」メソッドってやつを自主的に使ったので記念に、

そしてさらに調べてみて気づいたことがあったのでメモっときます。

(気付いたと言っても今まで知らなかっただけの事なので期待しないでください。)

debuggerメソッドとは?

byebug gemによって使うことができるデバッグ用のメソッドです。

アプリの挙動がおかしかったり、バグりそうなところがあれば、

コード内に直接このメソッドを入れることで状態を見ることができます。

そして気づいたこと

Ruby1.9.3以前ではこのdebuggerを使いますが、

それ以降ではbyebugでいいんですね・・・

詳しくはこちらを。

github.com

ということで、以下byebugにします。

使い方

前提

まず今回の状況ですが、ポートフォリオの個別ページである

showで使いました。

imageの中身が今はないので、それでもちゃんと動くか心配で試しました。

使い方

使用にはbyebug gemが必要です。

いつからか定かではありませんが、Rails 4.2.6からは

rails newした時点でデフォルトで含まれるようです。

  def show
    @work = Work.find(params[:id])
    byebug         # <=これです
  end

このようにコードに直接書き込みます。

ブラウザで該当ページを表示すると、

   1: class WorksController < ApplicationController
   2:   def index
   3:   end
   4:
   5:   def show
   6:     @work = Work.find(params[:id])
   7:     byebug
=> 8:   end
   9: end

(byebug)

こんな感じでサーバーを立ち上げてるターミナルに出てくるので、

あとはrails consoleみたいな感じで使うことができます。

(byebug) @work.name
"My First"
(byebug) @work.contents
"My first portfolio"
(byebug) @work.image
nil

終了するときはCtrl + Dです。

そして使い終わったらメソッドを消しておきましょう。

いちいち出てきちゃうので。

まとめ

デバッグツールはこの他にも色々あるようですね。

今回は種類については詳しく調べてはいませんが、

当分は余計なことしないで大人しくこれ使っときます。

名前かわいいしw