undifined method error for nil:NilClass

エラー発生状況

viewsファイルにerbで、データベースから取得してきたデータを表示するときに発生。

エラー発生のコード

<p><%= memo.category.name %></p>というコードをviewに記載してあり、”name”でデータを取得できていなかった。

エラーの原因

undifined method error “name” for nil:NilClass

“name”というところに何もデータが入ってないので、メソッドエラーが出ているということ。

このときのエラーの仮説としては、単純なスペルのミスか、routeとの記述にミスがあるかと予想していたが、原因はそれではなかった。

エラーの解決方法

rails cコマンドで、データベースに保存されているデータを確認することにした。
今回はCategoryというテーブルからデータを取得したかったので、Category.allのコマンドで、Categoryテーブルに入っているデータを取得した。
そこで見つけたのが今回の原因でした。category_idというカラムのデータが必要だったんだが、そこにnilが入っていた。
こいつが原因!そこで、nilに数字を入力してやったら、見事に解決!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です