エラー原因
結論からいうと、has_many :テーブル名
を書いていないからエラーが起こりました。
エラー状況
下記のような状態で、rails db:seed
を実行したところ、
NoMethodError: undefined method 'products' for #<User:0x000055f5fcc6c580>
が発生。
user = User.create!(
last_name: "山田",
first_name: "太郎",
email: "user1@example.com",
password: "password",
)
product = user.products.create!(
product_name: "りんご",
description: "新鮮なりんごです",
user_id: user1.id,
)
実行結果 : エラー発生
`NoMethodError: undefined method 'products' for #<User:0x000055f5fcc6c580>`
解決
models/user.rb に下記のように書くことで解決。
has_many :products, dependent: :destroy
テーブル同士の関連付けが出来ていなかった為、エラーしていました。