
エラーが出て何も進みません・・・
エラーをちゃんと読むと分かると聞いたのですが、どのように見ればいいのかまったく分かりません・・・
このような疑問にお答えします!
エラー画面を解読することはエラー解決で最初にすべき基本ですが、初心者のころはとっつきづらく敬遠されがちです。
エラー画面は決まった場所に決まった情報があるため、ある程度は型にはめて読むことができます。
本記事では、どこを読めばいいのか、何が書いてあるのかについて解説していきます。
エラー画面を見るときの心構え
エラー画面を見るときは、「ここに原因が書いてあるはず」という気持ちで落ち着いて読むことが大切です。
エラーがでると焦りますよね。
画面は赤いし、英語だし、特に初心者にとっては怖い画面に見えるようです。
筆者も最初はそうでした・・・
しかし、エラー画面は怖いものではありません!
それどころか開発者にとって有益な情報を示してくれています。
開発者の強い味方です。
そんな気持ちで臨むことが大切です。
エラーを見ることの大切さについては以下の記事も参照ください。
≫ 参考:エラーが解決できないプログラミング初学者の行動6選【初心者向け】
Ruby on Rails のエラー画面で見るべき箇所
実際にエラー画面で見るべき箇所を解説していきます。
例としてこんなエラー画面が出たとして説明します。

まずはこの4点を読めるようになりましょう。
1. エラータイトル
エラーの名前とどこで起きたかが表示されます。
どこでおきたか、は「コントローラ名#アクション名」で表示されます。
初心者によくある失敗として、
- 実際に発生している箇所
- 自分のイメージしている箇所
が違っていて、まったく見当違いな箇所のコードを延々と調べていた、ということがあります。
どのアクションでエラーになっているのかをしっかり把握することで余計な時間を大幅に省けます。
2. エラーメッセージ
最も重要な箇所です。
(強調されてないのでそうは見えないかもしれませんが・・・)
エラーメッセージを読み取って何が発生しているのかを把握することがエラー解決の第一歩です。
エラーの種類によって表示されるメッセージは変わるため一般的な読み方というのはありません。
しかし、それほど種類があるわけではないので頑張って読みましょう。
3. スタックトレース
「ファイルパス:行番号」の形式で呼び出し順に表示されます。
確認すべきファイルと行数がわかるので、見当違いな箇所を調査するといった時間の無駄を省くことができます。
この順にコードを確認するだけで解決することもよくあります。
4. リクエストパラメータ
リクエストで送信されたパラメータを Ruby の Hash 形式で表示されます。
ここで
- 必要なパラメータはあるか
- そのパラメータの値は想定通りか
などを確認します。
よくあるのは、コントローラで @params[:foo_id]
のように foo_id
というパラメータを想定しているのに
- パラメータが無かったり
- あったとしても
{ "foo_id" => "" }
のように空になっている
ためにエラーとなるケースがあります。
想定したパラメータとなっているかを確認しましょう。
まとめ
Ruby on Rails のエラー画面で見るべき箇所をざっくりと解説しました。
最初はとっつきづらいエラー画面ですが、ベテランエンジニアはこの画面から有益な情報を読み取って瞬時にエラーを解決します。
練習すれば誰でもできるようになります。
逆にいつまでも読まないといつまでもできるようになりません。
本記事でエラー画面を読むきっかけになればと思います。