質問編集履歴
5
実現したいことを具体的に記載しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -100,6 +100,32 @@
|
|
100
100
|
|
101
101
|
|
102
102
|
|
103
|
+
### schema.rb ※いいねデータのみ
|
104
|
+
|
105
|
+
```ruby
|
106
|
+
|
107
|
+
create_table "likes", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci", force: :cascade do |t|
|
108
|
+
|
109
|
+
t.integer "user_id", null: false
|
110
|
+
|
111
|
+
t.integer "post_id", null: false
|
112
|
+
|
113
|
+
t.datetime "created_at", null: false
|
114
|
+
|
115
|
+
t.datetime "updated_at", null: false
|
116
|
+
|
117
|
+
t.index ["post_id"], name: "index_likes_on_post_id"
|
118
|
+
|
119
|
+
t.index ["user_id", "post_id"], name: "index_likes_on_user_id_and_post_id", unique: true
|
120
|
+
|
121
|
+
t.index ["user_id"], name: "index_likes_on_user_id"
|
122
|
+
|
123
|
+
end
|
124
|
+
|
125
|
+
```
|
126
|
+
|
127
|
+
|
128
|
+
|
103
129
|
### routes.rb ※いいねの箇所のみ
|
104
130
|
|
105
131
|
```ruby
|
4
誤字のため修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -204,7 +204,7 @@
|
|
204
204
|
|
205
205
|
|
206
206
|
|
207
|
-
###
|
207
|
+
### like.rb (モデル(いいね))※関連箇所のみ
|
208
208
|
|
209
209
|
```ruby
|
210
210
|
|
3
実現したいことを具体的に記載しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -188,6 +188,42 @@
|
|
188
188
|
|
189
189
|
|
190
190
|
|
191
|
+
### post.rb (モデル(投稿))
|
192
|
+
|
193
|
+
```ruby
|
194
|
+
|
195
|
+
class Post < ApplicationRecord
|
196
|
+
|
197
|
+
belongs_to :user
|
198
|
+
|
199
|
+
has_many :likes, dependent: :destroy
|
200
|
+
|
201
|
+
end
|
202
|
+
|
203
|
+
```
|
204
|
+
|
205
|
+
|
206
|
+
|
207
|
+
### post.rb (モデル(いいね))※関連箇所のみ
|
208
|
+
|
209
|
+
```ruby
|
210
|
+
|
211
|
+
class Like < ApplicationRecord
|
212
|
+
|
213
|
+
belongs_to :user
|
214
|
+
|
215
|
+
belongs_to :post, counter_cache: :likes_count
|
216
|
+
|
217
|
+
validates :user_id, presence: true
|
218
|
+
|
219
|
+
validates :post_id, presence: true
|
220
|
+
|
221
|
+
end
|
222
|
+
|
223
|
+
```
|
224
|
+
|
225
|
+
|
226
|
+
|
191
227
|
### index.html.erb (投稿一覧画面)※いいねボタンの箇所のみ
|
192
228
|
|
193
229
|
```ruby
|
2
rubyのバージョンを明記
test
CHANGED
File without changes
|
test
CHANGED
@@ -38,7 +38,7 @@
|
|
38
38
|
|
39
39
|
|
40
40
|
|
41
|
-
|
41
|
+
### 想定していた結果(実現したい結果)
|
42
42
|
|
43
43
|
いいねが取り消され、いいね数が1つ減少し、いいねボタンが白抜きに変わる。
|
44
44
|
|
@@ -46,7 +46,7 @@
|
|
46
46
|
|
47
47
|
|
48
48
|
|
49
|
-
|
49
|
+
### 今起こってしまった結果
|
50
50
|
|
51
51
|
いいねが取り消され、いいね数が1つ減少するが、いいねボタンは黒塗りのハートのままとなる。
|
52
52
|
|
@@ -298,6 +298,16 @@
|
|
298
298
|
|
299
299
|
|
300
300
|
|
301
|
+
<バージョン>
|
302
|
+
|
303
|
+
ruby:2.6.5
|
304
|
+
|
305
|
+
rails:5.2.4.3
|
306
|
+
|
307
|
+
開発環境:Docker version 19.03.1
|
308
|
+
|
309
|
+
|
310
|
+
|
301
311
|
不足情報等ございましたら、ご指摘いただいたけますと幸いです。
|
302
312
|
|
303
313
|
よろしくお願いいたします。
|
1
実現したいことを具体的に記載しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -78,7 +78,7 @@
|
|
78
78
|
|
79
79
|
|
80
80
|
|
81
|
-
③その後、いいねが2以上になった投稿に対し、黒塗りのハートのいいねボタンをクリックし、いいね取消を行う(いいね数が1つ減少するが、いいねボタンは黒塗りのハートのままとなる)
|
81
|
+
**③その後、いいねが2以上になった投稿に対し、黒塗りのハートのいいねボタンをクリックし、いいね取消を行う(いいね数が1つ減少するが、いいねボタンは黒塗りのハートのままとなる)※問題点**
|
82
82
|
|
83
83
|
![イメージ説明](ce2f33c8c9ea63761097d7e5acf7c657.png)
|
84
84
|
|
@@ -86,7 +86,7 @@
|
|
86
86
|
|
87
87
|
|
88
88
|
|
89
|
-
④いいね数が0になるまで取消処理を行うことができてしまう。
|
89
|
+
**④いいね数が0になるまで取消処理を行うことができてしまう。※問題点**
|
90
90
|
|
91
91
|
![イメージ説明](5f593312a7511cc6a7547fee2a924222.png)
|
92
92
|
|
@@ -280,6 +280,16 @@
|
|
280
280
|
|
281
281
|
|
282
282
|
|
283
|
+
いいねボタンの表示判定時、
|
284
|
+
|
285
|
+
Like.find_by(user_id: current_user.id ,post_id: post.id)でいいねデータを取得できているはずなのに、正しく判定できていないようです。(いいね数は正確に集計できている)
|
286
|
+
|
287
|
+
Rails cでLike.find_byでデータ取得すると、いいね取消処理実行後はnilが取得できるのに、
|
288
|
+
|
289
|
+
画面でのif文判定時はnilが返らないのが、なぜかわかっておりません。(Ajaxに起因するものかと推測して、調査中です)
|
290
|
+
|
291
|
+
|
292
|
+
|
283
293
|
処理とデータの流れを一つ一つ追っていったり、
|
284
294
|
|
285
295
|
Ajaxでの取消処理実行時の注意事項なども調査中ではありますが、
|