質問編集履歴
3
ViewのPlayer名を出力する部分の記述を修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -54,7 +54,7 @@
|
|
54
54
|
|
55
55
|
<div>
|
56
56
|
|
57
|
-
|
57
|
+
<%= Player.find(game.player1_id).name %><span>対</span><%= Player.find(game.player2_id).name %>//ここでN+1が発生
|
58
58
|
|
59
59
|
<%= game.result %>
|
60
60
|
|
2
@videos取得のクエリを修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -38,7 +38,7 @@
|
|
38
38
|
|
39
39
|
@player = Player.find(params[:player_id])
|
40
40
|
|
41
|
-
@games = Game.where(player1_id: @player.id).or(
|
41
|
+
@games = Game.where(player1_id: @player.id).or(Game.where(player2_id: @player.id))
|
42
42
|
|
43
43
|
```
|
44
44
|
|
1
モデルの関連づけを追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -79,3 +79,23 @@
|
|
79
79
|
この状況でN+1問題を解決し、クエリの数を減らす手段がございましたら、アドバイスいただけると嬉しいです。
|
80
80
|
|
81
81
|
どうぞよろしくお願いいたします。
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
## 追記
|
86
|
+
|
87
|
+
```model
|
88
|
+
|
89
|
+
class Player < ApplicationRecord
|
90
|
+
|
91
|
+
has_many :games
|
92
|
+
|
93
|
+
end
|
94
|
+
|
95
|
+
class Game < ApplicationRecord
|
96
|
+
|
97
|
+
belongs_to :player
|
98
|
+
|
99
|
+
end
|
100
|
+
|
101
|
+
```
|