質問編集履歴

5

実現したいことを具体的に記載しました

2020/06/02 14:30

投稿

otdsh9432
otdsh9432

スコア55

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

誤字のため修正

2020/06/02 14:30

投稿

otdsh9432
otdsh9432

スコア55

test CHANGED
File without changes
test CHANGED
@@ -204,7 +204,7 @@
204
204
 
205
205
 
206
206
 
207
- ### post.rb (モデル(いいね))※関連箇所のみ
207
+ ### like.rb (モデル(いいね))※関連箇所のみ
208
208
 
209
209
  ```ruby
210
210
 

3

実現したいことを具体的に記載しました。

2020/06/02 14:28

投稿

otdsh9432
otdsh9432

スコア55

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のバージョンを明記

2020/06/02 14:26

投稿

otdsh9432
otdsh9432

スコア55

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

実現したいことを具体的に記載しました。

2020/06/02 14:23

投稿

otdsh9432
otdsh9432

スコア55

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での取消処理実行時の注意事項なども調査中ではありますが、