#はじめに
##デバックツールとは
一般的にデバックツールとはプログラムの作業を行う際に、バグの有無、エラーの原因箇所、コード上の問題がないかなどを確認するために用いるツールのことをいいます。
#pry-rails
##pry-railsとは
Rails用に使われるデバックツールのことをいい、Gemの一種であるため、使用をする際は以下の様にGemfileに追加する必要があります。
gem 'pry-rails'
Gemの追加を行ったため、ターミナルで以下のようにbundle installを忘れずに行いましょう。
$ bundle install
これでpry-railsが使えるようになります。
##binding.pryとは
pry-railsを導入したことでpry-railsの機能が使えるようになりました。pry-railsの機能の一つにbinding.pryがあります。
binding.pryはコード上にbinding.pryを記述することで
binding.pryの書かれている箇所までの処理を実行し、
binding.pryの書かれている箇所で処理を一時的に止めることができます。
###使用方法
以下の様に、処理の確認をしたいコードの箇所に
binding.pryを記述します。
class TweetsController < ApplicationController
def index
@tweets = Tweet.all
binding.pry
end
end
記述をし、実行を行うとターミナルのローカルサーバー画面が以下のような表示になり、
binding.pryの記述している箇所で処理が止まります。
3: def index
4: @tweets = Tweet.all
=> 5: binding.pry
6: end
[1] pry(#<TweetsController>)>
この状態ではコンソールと似た操作ができるので
@tweets.find(6)のようなApplicationRecordメソッドを使い、binding.pryが書かれている箇所までの処理の値を確認することができます。
処理停止状態を終了させるには以下のようにexitを入力することで停止状態が終了し、binding.pry以降の処理を実行します。
[1] pry(#<TweetsController>)>exit
ちなみにexit!を入力するとローカルサーバーも終了します。
#おわりに
以上pry-railsの説明とpry-railsでよく使うbinding.pryについてまとめました。
デバックツールはプログラミングをする上で非常にお世話になると思うので覚えておこうと思います。