[rails]unicornでpryを使う
先日、pryでデバッグする という記事を書きましたが、こちらはrails server(フォアグランド)でアプリを立ち上げた際のデバッグ方法でした。
今回はunicornを使ってアプリをバックグラウンドで立ち上げている際にbiding.pryを使う方法をメモしておきます。
- Gemfileにpry-remoteを追加
# Gemfile
group :test, :development do
gem "pry-rails"
gem "pry-remote" # 追加
end
こちら pry-byebug が入っている状態だとうまく動きませんでした。
- ブレイクポイントを設置したい箇所にbinding.remote_pryを設置
@user = User.where(id: xxx)
binding.remote_pry
- 該当ページにアクセスするとunicornがwait状態になります
unicornログに以下のようなログが出ます
[pry-remote] Waiting for client on druby://127.0.0.1:9876
- ターミナルからpry-remoteを実行
bundle exec pry-remote
コマンドを実行すると前回と同様にpryでデバッグできるようになります。