回答編集履歴
2
更に追記
answer
CHANGED
@@ -19,4 +19,19 @@
|
|
19
19
|
controller の new、それを呼び出す view、logを載せてください
|
20
20
|
|
21
21
|
修正内容
|
22
|
-
merge(product_id: params[:product_id] となっていたので、idをproduct_idにしゅうせい
|
22
|
+
merge(product_id: params[:product_id] となっていたので、idをproduct_idにしゅうせい
|
23
|
+
|
24
|
+
更に追記
|
25
|
+
save!にて「Product must exist,」 すなわち product_id がnilもしくは実在しないid
|
26
|
+
↑
|
27
|
+
reviews_controller#review_params の product_id: params[:product_id]のparams[:product_id]が怪しい
|
28
|
+
↑
|
29
|
+
new.html.erb の %= f.hidden_field_tag :product_id, @product.id %> の @product があやしい
|
30
|
+
↑
|
31
|
+
controller#new の @product = Product.find(params[:id]) の params[:id が怪しい
|
32
|
+
↑
|
33
|
+
**new.htmlが何の id を渡しているのか**
|
34
|
+
↑
|
35
|
+
**new.htmlを起動しているcontrollerは idのために new.htmlにどんな値をわたしているのか**
|
36
|
+
|
37
|
+
Boldなところの情報が必要です
|
1
一部修正
answer
CHANGED
@@ -9,11 +9,14 @@
|
|
9
9
|
reviews_controller の newが書かれていないので(こんなことを書かなくて済む質問が書けるようになってください)??ですがここで
|
10
10
|
@product = Product.find(params[:id])して(前提、newを呼ぶviewがidを渡していること)
|
11
11
|
newのviewにて
|
12
|
-
`hidden_field_tag :
|
12
|
+
`hidden_field_tag :product_id, @product.id`
|
13
13
|
してください。
|
14
14
|
で、review_paramsを
|
15
|
-
`params.require(:review).permit(、、、、、).merge(product_id: params[:
|
15
|
+
`params.require(:review).permit(、、、、、).merge(product_id: params[:product_id], user_id: current_user.id)`
|
16
16
|
|
17
17
|
変更点多いのであまり厳密に見ていません。
|
18
18
|
うまく行かなかったら
|
19
|
-
controller の new、それを呼び出す view、logを載せてください
|
19
|
+
controller の new、それを呼び出す view、logを載せてください
|
20
|
+
|
21
|
+
修正内容
|
22
|
+
merge(product_id: params[:product_id] となっていたので、idをproduct_idにしゅうせい
|