初めに...
未経験エンジニアのぐっちと申します。
エンジニアになれるか不安ですが、とりあえず行動あるのみということで
初回は勉強中のRubyonRailsのNoMethodErrorについて書きたいと思います!!!
この記事を書いた理由
RubyonRailsを勉強してきて、サンプルやポートフォリオ作成時にエラーに苦しみ
もっと成長する為にQiitaに挑戦しようと思いました。
また、下記の記事を参考にしました。
環境について
Rails 6.1.7.3
NoMethodError が起きた時
最初にエラー内容と原因ですが、こちらの記事を参考に。
今回は+αで自分がNomethodErrorが起きた時、どう対応しているかを書きたいと思います。
①まずエラー箇所をよく読み、落ち着いて内容を理解する。
(undefined method 〜 nil:NilClass は友達)
個人的にメソッド前のインスタンス変数が上手く設定出来ておらず発生する経験が多いです...
②エラー箇所と関係しているコントローラーのアクションコードを見て、間違いがないか確認する。
・自分が対象のviewファイルで表記したいインスタンス変数を定義出来ているか
・スペルミスがないか(controllerとview)
・単数形と複数形を間違えていないか
・if分を含んでいる場合、ifとelse両方にインスタンス変数を定義出来ているか
③ModelやDBのSchema.rbを確認する
※レアなパターンですが、
実装中にたまたまModelファイルにカーソルが移りうっかり一部の記述を削除したり
そもそも必要なカラムが思い込みで設定出来ていなかったこともありました。
短いですが、とりあえずこんな流れで取り組むように努力しています。
また、今後気づいたことがあれば修正したいと思います。
最後まで読んでくれた方、ありがとうございました。