おはこんばんにちは!ノボルです。
Railsチュートリアルをやってるんだけど、エラーが解決できないー!
その気持ちよくわかるよ(笑)。僕が使っていた対処方法教えるから、参考にしてみて!
そこで今回は、Railsチュートリアルでエラーが出た時の対処方法を一挙紹介します!僕は完全独学で修了したので、この記事の情報はある程度参考になるかなと思います。エラー解決は大変だと思いますが、諦めず乗り越えましょう!
ほとんどのエラーは自分のせい
対処方法の解説に入る前に一つ言っておきたいのですが、
プログラミングのエラーは、人為的ミスによって起きることが多いです。
Railsチュートリアルもこれの例外ではなく、僕が経験したエラーの95%以上は僕自身のミスによるものでした。
「このエラーは絶対パソコンのせいだ!」
「これだけやって解決しないのはおかしい!」
と何度もパソコンやソフトを責めていたのですが、蓋を開けてみれば、タイプミスや保存のし忘れなど、僕の凡ミスが原因でエラーが発生していたことがほとんどでした。
なので、この記事を読んでいるあなたもエラーが発生した時は、プログラムを疑うよりも先にまず自分を疑ってください。
そして、一つ一つファイルを確認していくことで、必ずエラーの原因が見つかります。
保証します。僕がそうだったので。
Railsチュートリアルでエラーが出た時の対処方法
お待たせしました。さっそく対処方法を一挙紹介します。
一にも二にもググる
Railsチュートリアルは、いまやRuby on Railsの定番教材です。つまり、学習者が相当数いるので、エラー解決に関する技術記事が豊富にあるということです。
てことで、ググったらほぼ解決します。
具体的には、
「Railsチュートリアル 〇〇(エラー名) 」
といった感じで検索すれば、そのエラーに関するQiitaやStackoverflowの記事が表示されるので、それに従ってエラーを解決すればOKです。
ここで重要なのは、一度ググっただけで解決方法がわからないのは当たり前ということです。
違うキーワードで再検索したり、複数の記事を参照してください。それを繰り返していくうちに、自分の欲しい情報にリーチする『ググる力』が鍛えられます。
あとオススメなのが、英語で検索することです。冗談抜きで日本語の10倍くらい情報が出てきます。
「〇〇(エラー名) error 」
「Rails tutorial 〇〇(エラー名) 」
みたいな感じで検索すればOKです。記事の内容が読めなくても、Google翻訳で訳せば問題ナシです。
ちなみに、エラー名はそのままコピペするのではなく、パーツごとにググるのもオススメです。
たとえば、
【NoMethodError: undefined method redirect_back_or`redirect_back_or’ for #】
というエラーが発生したとします。そこで、
「Railsチュートリアル NoMethodError」
「Rails undefined method 対処」
みたいな感じで、エラーメッセージの一部を検索することで、より多くの情報にリーチできます。
開発環境を再起動する
テストが通らないときは、まず開発環境を再起動しましょう。僕はローカル環境(Mac, VS code)を使っていましたが、Cloud9などのIDEでやっている人もページを再読み込みすればOKです。
何時間も試行錯誤してテストが全く通らないと思いきや、再起動したら一発で通るとか普通にありましたので。笑
コードはコピペする
コードはコピペすることをオススメします。
というのも、手動でタイプすると高確率でタイプミスをします。その結果エラーが発生して、たった1文字のスペルミスを見つけるのに多大な時間を失うことがあります。
「コピペしたら勉強にならないだろ!」
という意見もあるかもしれませんが、コードは読み込むことで理解できます。逆に、タイプしただけで理解した気になっているほうが良くない気がします。くだらないスペルミスで時間を失うより、コピペで作業効率を上げる方が合理的です。大事なのは完璧ではなく完了です。
記述間違い/記述忘れ
間違ったファイルにコードを記述したり、そもそも記述し忘れていると、当然エラーが発生します。
エラーの原因が見つからないときは、正しいファイルに正しいコードを記述をしているか確認しましょう。
同じメソッドが複数書いてないか確認する
これももよくあるのですが、記述ファイルが増えてくると、同じメソッドを複数書いてしまうことがあります。
その結果エラーが発生するので、どうしてもエラーが解決できないときは、同じメソッドが複数書いてないか確認してみましょう。
rails db:migrate を再度実行する
Railsチュートリアル後半になってくると、データベースとのやりとりが増えてきます。
「rails db:migrate」を忘れるとエラーが発生します。エラーに詰まったときは、再度実行してみましょう。
bundle install & update を再度実行
Gemfileに新しいGemを追加したあとは、必ず[bundle install]を実行してください。じゃないとエラーが発生します。
Gemのバージョンが古くてエラーが発生することもあるので、たまに[bundle update]も実行しておきましょう。
どうしても解決できないなら質問サイトで聞く
僕の場合、上記で紹介した対処方法で全てのエラーを解決できました。
しかし、「何をどうしても全くエラーが治らない」なんてことも起こるかもしれません。数日粘るくらいであれば勉強になるのでOKだと思いますが、何週間も一つのエラーでつまずくのは、時間がもったいないです。
どうしようもなくなった時は、思い切ってTeratailやStock Overflowなどの質問サイトで思い切って聞きましょう。
僕はRailsチュートリアルを始めた直後、環境構築の段階で躓いてしまい、エラーを解決するのに2週間もかかってしまいました。諦めずに粘って勉強になったとは思いますが、所要時間を考えると、早めに質問サイトを利用すればよかっとも思っています。
この記事を読んでいるあなたも時間は限られていると思います。会社員から転職を考えていたり、家事をしながら勉強されているかもしれません。
試行錯誤して解決する力は必要だとお思いますが、あまり時間をかけすぎないように、使えるサービスは使うことをオススメします。
最後に
今回は、Railsチュートリアルでエラーが出た時の対処方法を解説しました。
- 一にも二にもググれ
- 開発環境を再起動する
- コードはコピペする
- 記述間違い/記述忘れ
- 同じメソッドが複数書いてないか確認する
- rails db:migrate を再度実行する
- bundle install & update を再度実行
プログラミング学習は孤独な道のりです。特にエラーにつまずくと、イライラしたり、挫折しそうになります。しかし、それを乗り越えることで、スキルを磨いたり、達成感を感じることができます。
諦めずに頑張りましょう!
最後まで読んで頂き、ありがとうございました(o^^o)
コメント