テックキャンプ68日目

kobasaです(´ω`*)来週月曜日に2回目のモデルナワクチンの接種が決まりました。
副反応は2回目の方が出るようなので、また38度くらいの発熱がありそうです。
解熱剤と冷えピタは前回の残りがあるので、前よりひどくならなければ多分大丈夫。

あとは接種後に「血管迷走神経反射」が起きないといいんですけど。ベッドでしばらく横になってから帰ろう。

ワクチン接種1回目の話はテックキャンプ42日目43日目に書いてます。

68日目の勉強内容

エラー解決について

さて勉強内容はちょっと前に配布された「Rails強化プログラム」を実施していました。
カリキュラムとは別で、エラー解決を通して重要な部分を復習していく内容ですね。

エラーを解決するコツは下記の3つ。

  1. 現状把握:「何を」したら「どのような」エラーが出たのか言語化すること
  2. エラー文を解読:エラー内容にはヒントが書かれているので調べる
  3. 仮説を立てる:1.2をベースに仮説を立てて検証する

例えば1.「新規投稿ボタンを押したら」「No template」エラーが出た。
2.「TweetsController#new is missing a template for request formats: text/html」newアクションのビューファイルが見当たらないという内容。
3.「new.html.erb」ファイルの場所や名前が間違っているのではないか?という仮説を立てる

強化プログラム実施後の課題とポイント

エラーは無事に解けたけど解説を見ていると、自分は余計なところまで見に行ってることがある感じですね。

Routing Error
No route matches [POST] “/tweets/search”

上記はHTTPメソッドPOSTでパスが/tweets/searchのルーティングが見つかりません。というエラーになります。
検索フォームは検索結果を表示する機能なのでHTTPメソッドはPOSTではなくGETになります。なのでフォームのmethodオプションの記述がおかしいのかな。という仮説を立てるんですが、
僕は「ルーティングの記述もおかしいんじゃね?」と考えてroutes.rbも見に行ってるんですね。(rails routesコマンドでルーティングが正しいのは明らか)

効率良くエラーを解決するために、①エラー文の内容理解・慣れ②エラー内容から適切な確認項目を絞り込むスキルを身につける必要があると感じました。

あとはNoMethodErrorで表示されている部分の単語の綴りがあってそうな場合は、アソシエーションに関係する記述がおかしいことがあるのでModelのアソシエーションの記述が正しいかも要チェック!

コメント

  1. みずたーに より:

    す、す、すごくタメになります!!
    テックキャンプの卒業生インタビューを絶対に受けて、後輩にご教授すべきです!!
    まとめ方が素晴らしすぎます!
    プラスアルファの少しくだけるところも好きです!

    • kobasa より:

      ありがとうございます(´ω`*)
      インタビューはちょっと…喋るの苦手なのでw
      2ヶ月経ちましたが、口語や説明口調とか混ざっちゃってなかなか安定しないんですよねw

タイトルとURLをコピーしました