回答編集履歴

2

更に追記

2020/05/22 04:24

投稿

winterboum
winterboum

スコア23567

test CHANGED
@@ -41,3 +41,33 @@
41
41
  修正内容
42
42
 
43
43
  merge(product_id: params[:product_id] となっていたので、idをproduct_idにしゅうせい
44
+
45
+
46
+
47
+ 更に追記
48
+
49
+ save!にて「Product must exist,」 すなわち product_id がnilもしくは実在しないid
50
+
51
+
52
+
53
+ reviews_controller#review_params の product_id: params[:product_id]のparams[:product_id]が怪しい
54
+
55
+
56
+
57
+ new.html.erb の %= f.hidden_field_tag :product_id, @product.id %> の @product があやしい
58
+
59
+
60
+
61
+ controller#new の @product = Product.find(params[:id]) の params[:id が怪しい
62
+
63
+
64
+
65
+ **new.htmlが何の id を渡しているのか**
66
+
67
+
68
+
69
+ **new.htmlを起動しているcontrollerは idのために new.htmlにどんな値をわたしているのか**
70
+
71
+
72
+
73
+ Boldなところの情報が必要です

1

一部修正

2020/05/22 04:24

投稿

winterboum
winterboum

スコア23567

test CHANGED
@@ -20,13 +20,13 @@
20
20
 
21
21
  newのviewにて
22
22
 
23
- `hidden_field_tag :id, @product.id`
23
+ `hidden_field_tag :product_id, @product.id`
24
24
 
25
25
  してください。
26
26
 
27
27
  で、review_paramsを
28
28
 
29
- `params.require(:review).permit(、、、、、).merge(product_id: params[:id], user_id: current_user.id)`
29
+ `params.require(:review).permit(、、、、、).merge(product_id: params[:product_id], user_id: current_user.id)`
30
30
 
31
31
 
32
32
 
@@ -35,3 +35,9 @@
35
35
  うまく行かなかったら
36
36
 
37
37
  controller の new、それを呼び出す view、logを載せてください
38
+
39
+
40
+
41
+ 修正内容
42
+
43
+ merge(product_id: params[:product_id] となっていたので、idをproduct_idにしゅうせい