回答編集履歴

2

追記

2021/01/10 05:06

投稿

winterboum
winterboum

スコア23567

test CHANGED
@@ -7,3 +7,41 @@
7
7
 
8
8
 
9
9
  それでうまくいかなかったら、modelのcode載せてください。
10
+
11
+
12
+
13
+ 追記
14
+
15
+ ああ、app/models/talk.rb:16 でエラーになっているわけではなさそうですね。
16
+
17
+ すると
18
+
19
+ `
20
+
21
+ - if talk.like?(current_user)
22
+
23
+ = link_to "##", talk_like_path(talk), method: :delete
24
+
25
+ - else
26
+
27
+ = link_to "#", talk_likes_path(talk), method: :post`
28
+
29
+ のどちらかの link_toが怪しいです。 postの方は問題ないですが、deleteの方ですね。
30
+
31
+ talk には沢山 likeがつくので、そのどのlikeなのか、がきちんと伝わっていないでことですね。
32
+
33
+ `talk_like_path(talk,like)`と回答しましたがそこが問題だ。
34
+
35
+ likeを特定する必要があります。
36
+
37
+ `def like?(user)` を直して、userがpostしたlikeを返すようにしましょう。
38
+
39
+ `liked_users.find{|linke_user| liked_user.user_id == user.id }&.like`
40
+
41
+ でしょうか。
42
+
43
+ method名とそぐわないから改名するのがよいかも。
44
+
45
+ で、
46
+
47
+ `- if (like = talk.like?(current_user))`

1

追記

2021/01/10 05:06

投稿

winterboum
winterboum

スコア23567

test CHANGED
@@ -5,3 +5,5 @@
5
5
  `link_to "##", talk_like_path(talk,like), method: :delete`
6
6
 
7
7
 
8
+
9
+ それでうまくいかなかったら、modelのcode載せてください。