56
70

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【Rails】better_errorsとbinding_of_callerで自分でエラーを解決できるようになろう【初心者向け】

Posted at

はじめに

今までテキストやRailsチュートリアルに沿ってアプリを作っていました。
現在は自分でオリジナルアプリを作成しています。
いざ、自分で作るとなると、どうしてもエラーを読み解く力が必要になるなと感じています。
そこで、better_errorsbinding_of_callerというgemを使いこなすとエラーに対処しやすくなるので紹介してみます。

better_errorsとbinding_of_callerとは

better_errorsはデフォルトのエラー画面をわかりやすく成形してくれるgem。
binding_of_callerはそのエラー画面にirbをつけてくれるgem。

実際のエラー画面がこちらです。

スクリーンショット 2018-09-28 20.43.46.png

では、これから導入方法からエラー画面の見かたまで解説していきます。

導入方法

Gemfileのgroup :development doの中に2つを記述してbundle installするだけ

Gemfile
group :development do
  gem 'better_errors'
  gem 'binding_of_caller'

group :development doの中に記述する理由は開発しているときのみ使えるようにするため。

$ bundle install

これで導入完了です。

エラー画面の見かた

スクリーンショット 2018-09-28 20.43.46.png

####○ エラーメッセージ
いつものエラー文です。
これをもとにエラーの原因を探っていきます。

####○ トレース情報
わかりやすく説明するとコードが怪しいところの候補をいくつか挙げてくれるところです。
トレース情報をクリックすることで、隣のirbにコードを表示してくれます。

####○ irb
コードの怪しいところを表示してくれます。
下の入力欄はコンソールになっていてrails cと同じことができます。
わざわざターミナルの表示をしなくて良いので便利です。

####○ リクエスト情報
request時のパラメータを表示してくれます。

####○ ローカル変数情報
変数の中身を表示してくれます。

まとめ

このように一画面ででてくる情報量やできることが格段に増えます。
エラーが出た時にエラー文をググるだけではなく、コンソールで変数の中身を見たり、パラメータの確認をして様々な角度から解決方法を考えていけるようになれます。
最初は難しいかもしれませんが、徐々に慣れていって使いこなせば、効率よく開発していくことができるでしょう。

56
70
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
56
70

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?