はじめに
今までテキストやRailsチュートリアルに沿ってアプリを作っていました。
現在は自分でオリジナルアプリを作成しています。
いざ、自分で作るとなると、どうしてもエラーを読み解く力が必要になるなと感じています。
そこで、better_errorsとbinding_of_callerというgemを使いこなすとエラーに対処しやすくなるので紹介してみます。
better_errorsとbinding_of_callerとは
better_errorsはデフォルトのエラー画面をわかりやすく成形してくれるgem。
binding_of_callerはそのエラー画面にirbをつけてくれるgem。
実際のエラー画面がこちらです。
では、これから導入方法からエラー画面の見かたまで解説していきます。
導入方法
Gemfileのgroup :development do
の中に2つを記述してbundle install
するだけ
group :development do
gem 'better_errors'
gem 'binding_of_caller'
group :development do
の中に記述する理由は開発しているときのみ使えるようにするため。
$ bundle install
これで導入完了です。
エラー画面の見かた
####○ エラーメッセージ
いつものエラー文です。
これをもとにエラーの原因を探っていきます。
####○ トレース情報
わかりやすく説明するとコードが怪しいところの候補をいくつか挙げてくれるところです。
トレース情報をクリックすることで、隣のirbにコードを表示してくれます。
####○ irb
コードの怪しいところを表示してくれます。
下の入力欄はコンソールになっていてrails c
と同じことができます。
わざわざターミナルの表示をしなくて良いので便利です。
####○ リクエスト情報
request時のパラメータを表示してくれます。
####○ ローカル変数情報
変数の中身を表示してくれます。
まとめ
このように一画面ででてくる情報量やできることが格段に増えます。
エラーが出た時にエラー文をググるだけではなく、コンソールで変数の中身を見たり、パラメータの確認をして様々な角度から解決方法を考えていけるようになれます。
最初は難しいかもしれませんが、徐々に慣れていって使いこなせば、効率よく開発していくことができるでしょう。