Dockerでbinding.pryをする
binding.pryを使いたくなったのですが、Dockerだとターミナルにpryのコンソールが出てくれません。。。
そこでどうすればいいか調べ、うまく行ったのでその方法をメモしておこうと思います!
手順
①処理を止めたい場所にbinding.pryをかく
これは普通の時と同じ手順です。
処理を止めたい箇所にbinding.pryを書きます。
def index
#処理
binding.pry
#処理
end
②止めたアクションをブラウザで動かす
これも普通の時と同じです。
今回はindexアクションにbinding.pryを書いたので、ブラウザでindexアクションが呼ばれるページへいきます。
すると処理が止まってくれます。
③docker attach コンテナID でrails serverにattachする
以下のコマンドでrailsのコンテナIDを確認します。
$ docker container ls
確認できたら、docker attach コンテナID コマンドでrails serverにattachします。
$ docker attach c3f2458****
[1] pry(#<Admin::UsersController>)>
すると、いつものpryコンソールが出現してくれます!!