質問編集履歴
5
実現したいことを具体的に記載しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -49,6 +49,19 @@
|
|
49
49
|
⑤いいね数が0になると、ようやくいいねボタンが白抜きのハートに戻り、いいね追加処理が行えるようになる
|
50
50
|

|
51
51
|
|
52
|
+
### schema.rb ※いいねデータのみ
|
53
|
+
```ruby
|
54
|
+
create_table "likes", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci", force: :cascade do |t|
|
55
|
+
t.integer "user_id", null: false
|
56
|
+
t.integer "post_id", null: false
|
57
|
+
t.datetime "created_at", null: false
|
58
|
+
t.datetime "updated_at", null: false
|
59
|
+
t.index ["post_id"], name: "index_likes_on_post_id"
|
60
|
+
t.index ["user_id", "post_id"], name: "index_likes_on_user_id_and_post_id", unique: true
|
61
|
+
t.index ["user_id"], name: "index_likes_on_user_id"
|
62
|
+
end
|
63
|
+
```
|
64
|
+
|
52
65
|
### routes.rb ※いいねの箇所のみ
|
53
66
|
```ruby
|
54
67
|
resources :posts do
|
4
誤字のため修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -101,7 +101,7 @@
|
|
101
101
|
end
|
102
102
|
```
|
103
103
|
|
104
|
-
###
|
104
|
+
### like.rb (モデル(いいね))※関連箇所のみ
|
105
105
|
```ruby
|
106
106
|
class Like < ApplicationRecord
|
107
107
|
belongs_to :user
|
3
実現したいことを具体的に記載しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -93,6 +93,24 @@
|
|
93
93
|
$(".like_btn-<%= @post.id %>").html("<%= escape_javascript(render "shared/like", post: @post) %>");
|
94
94
|
```
|
95
95
|
|
96
|
+
### post.rb (モデル(投稿))
|
97
|
+
```ruby
|
98
|
+
class Post < ApplicationRecord
|
99
|
+
belongs_to :user
|
100
|
+
has_many :likes, dependent: :destroy
|
101
|
+
end
|
102
|
+
```
|
103
|
+
|
104
|
+
### post.rb (モデル(いいね))※関連箇所のみ
|
105
|
+
```ruby
|
106
|
+
class Like < ApplicationRecord
|
107
|
+
belongs_to :user
|
108
|
+
belongs_to :post, counter_cache: :likes_count
|
109
|
+
validates :user_id, presence: true
|
110
|
+
validates :post_id, presence: true
|
111
|
+
end
|
112
|
+
```
|
113
|
+
|
96
114
|
### index.html.erb (投稿一覧画面)※いいねボタンの箇所のみ
|
97
115
|
```ruby
|
98
116
|
<% @posts.each do |post| %>
|
2
rubyのバージョンを明記
title
CHANGED
File without changes
|
body
CHANGED
@@ -18,11 +18,11 @@
|
|
18
18
|
**「いいね数が1以上の投稿に対し、白抜きハートのいいねボタンをクリックし、いいね追加を行う」→「その後、いいねが2以上になった投稿に対し、黒塗りのハートのいいねボタンをクリックし、いいね取消を行う」**
|
19
19
|
この操作の想定結果と、実際に今起こってしまった結果は以下の通りです。
|
20
20
|
|
21
|
-
|
21
|
+
### 想定していた結果(実現したい結果)
|
22
22
|
いいねが取り消され、いいね数が1つ減少し、いいねボタンが白抜きに変わる。
|
23
23
|
→この後、白抜きとなっているいいねボタンを押すと、再びいいね追加処理が行える。
|
24
24
|
|
25
|
-
|
25
|
+
### 今起こってしまった結果
|
26
26
|
いいねが取り消され、いいね数が1つ減少するが、いいねボタンは黒塗りのハートのままとなる。
|
27
27
|
→この後、黒塗りのハートボタンを押すと、いいね取消処理が実行され、いいね数が1つ減少する。
|
28
28
|
→いいね数が0になるまで取消処理を行うことができてしまう。いいね数が0になると、ようやくいいねボタンが白抜きのハートに戻り、いいね追加処理が行えるようになる。
|
@@ -148,5 +148,10 @@
|
|
148
148
|
Ajaxでの取消処理実行時の注意事項なども調査中ではありますが、
|
149
149
|
並行して皆様にお力添えいただきたい次第です。
|
150
150
|
|
151
|
+
<バージョン>
|
152
|
+
ruby:2.6.5
|
153
|
+
rails:5.2.4.3
|
154
|
+
開発環境:Docker version 19.03.1
|
155
|
+
|
151
156
|
不足情報等ございましたら、ご指摘いただいたけますと幸いです。
|
152
157
|
よろしくお願いいたします。
|
1
実現したいことを具体的に記載しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -38,11 +38,11 @@
|
|
38
38
|

|
39
39
|
|
40
40
|
|
41
|
-
③その後、いいねが2以上になった投稿に対し、黒塗りのハートのいいねボタンをクリックし、いいね取消を行う(いいね数が1つ減少するが、いいねボタンは黒塗りのハートのままとなる)
|
41
|
+
**③その後、いいねが2以上になった投稿に対し、黒塗りのハートのいいねボタンをクリックし、いいね取消を行う(いいね数が1つ減少するが、いいねボタンは黒塗りのハートのままとなる)※問題点**
|
42
42
|

|
43
43
|
|
44
44
|
|
45
|
-
④いいね数が0になるまで取消処理を行うことができてしまう。
|
45
|
+
**④いいね数が0になるまで取消処理を行うことができてしまう。※問題点**
|
46
46
|

|
47
47
|
|
48
48
|
|
@@ -139,6 +139,11 @@
|
|
139
139
|

|
140
140
|
|
141
141
|
|
142
|
+
いいねボタンの表示判定時、
|
143
|
+
Like.find_by(user_id: current_user.id ,post_id: post.id)でいいねデータを取得できているはずなのに、正しく判定できていないようです。(いいね数は正確に集計できている)
|
144
|
+
Rails cでLike.find_byでデータ取得すると、いいね取消処理実行後はnilが取得できるのに、
|
145
|
+
画面でのif文判定時はnilが返らないのが、なぜかわかっておりません。(Ajaxに起因するものかと推測して、調査中です)
|
146
|
+
|
142
147
|
処理とデータの流れを一つ一つ追っていったり、
|
143
148
|
Ajaxでの取消処理実行時の注意事項なども調査中ではありますが、
|
144
149
|
並行して皆様にお力添えいただきたい次第です。
|