#はじめに#
はじめまして、プログラミング歴2ヶ月足らずの者です。同じエラーが発生した方のお力になれたらと思い、初めての投稿をさせていただきます。もし、記事内容に間違った内容などございましたらご指摘いただけると幸いです。
#背景#
productとその名前や値段などを表にして表示し、商品の管理画面を作成しようとしていました。
#エラー内容#
products.index.html.erb
<% @products.each do |product| %>
<tr>
<td scope="row"><%= product.id %></td>
<td><%= image_tag "/images/dummy.png", class: "img-fluid h-10" %></td>
<td><%= product.name %></td>
<td><%= product.price %></td>
<td><%= product.category.name %></td>
<td><%= product.category.major_category_name %></td>
<td><%= link_to "編集", edit_dashboard_product_path(product), class: "dashboard-edit-link" %></td>
<td><%= link_to "削除", dashboard_product_path(product), method: :delete, class: "dashboard-delete-link" %></td>
</tr>
<% end %>
7行目のproduct.category.nameのnameメソッドが見当たらないとのエラーメッセージが出ました。
#解決策#
rails db:reset
一度データベースの全てのテーブルをdropし、テーブルを再作成したところ、表が表示されるようになりました。
#考えられる原因#
開発途中で、試験的にデータベースのレコードを削除したりしていたので、productのレコードとcategoryのレコードの関係性が崩れたことが原因だったと考えられます。
↓ 参考記事