回答編集履歴
1
追記
answer
CHANGED
@@ -8,4 +8,14 @@
|
|
8
8
|
_favorite.html.erb の <%= post_image.id %> ここでエラーになるはず。
|
9
9
|
|
10
10
|
どこか掲示するのを省略していませんか?
|
11
|
-
PostImagesController から一番下のpartialまで、関連するfileを全部、省略なしに見せてください。
|
11
|
+
PostImagesController から一番下のpartialまで、関連するfileを全部、省略なしに見せてください。
|
12
|
+
|
13
|
+
追記
|
14
|
+
indexに `<% @post_images.each do |post_image| %>` とあり、そのloopの中で`<%= render partial: 'post_images/post_images',` が実行されています。
|
15
|
+
で、そのpartialから _favorite.html.erb を呼んでいいねボタンを書いてますので、@post_imagesの数、つまりユーザの数だけ いいね がでてしまいます。
|
16
|
+
良いねを一つにしたいなら `<% @post_images.each do |post_image| %>` のloopの外に出すのですが、、、、
|
17
|
+
でも
|
18
|
+
これ、[**この人に**良いね」ですよね? ですからユーザごとに出て正解では?
|
19
|
+
問題は、「この人」がわからないこと。
|
20
|
+
`<%= render partial: 'post_images/post_images', collection: @post_images, as: :post_image %>`にて 一人ひとり書くところで @post_images 全体を渡しているのが問題です。
|
21
|
+
`<%= render partial: 'post_images/post_images', locals post_image: post_image %>`としてみてください。
|