回答編集履歴
2
修正
test
CHANGED
@@ -12,23 +12,11 @@
|
|
12
12
|
|
13
13
|
|
14
14
|
|
15
|
-
|
15
|
+
~~ここにサンプルを書いていましたが誤りでしたので消しました。~~
|
16
16
|
|
17
|
-
def create
|
18
17
|
|
19
|
-
@like = Like.create(user_id: current_user.id, post_id: params[:post_id])
|
20
18
|
|
21
|
-
|
19
|
+
`@post.likes`とした時点でSQLは再発行されるので、ここで`reload`する意味を感じませんが、`reload`自体の機能は上記の通りです。
|
22
|
-
|
23
|
-
# 例えば、ここで @post.likes としても↑で作成したLikeレコードは含まれない
|
24
|
-
|
25
|
-
@post.reload
|
26
|
-
|
27
|
-
# DBからデータを取得し直すことで @post.likes とした時↑で作成したLikeレコードが含まれる
|
28
|
-
|
29
|
-
end
|
30
|
-
|
31
|
-
```
|
32
20
|
|
33
21
|
|
34
22
|
|
1
追記
test
CHANGED
@@ -3,6 +3,8 @@
|
|
3
3
|
|
4
4
|
|
5
5
|
`@post`のデータをDBから再度取得しています。
|
6
|
+
|
7
|
+
やってることは `@post = @post.class.find(@post.id)` と同じです。
|
6
8
|
|
7
9
|
DBをいくら更新しても、変数に入っている値は変わらないので、
|
8
10
|
|