質問編集履歴
1
ビューの実装を追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,10 +1,36 @@
|
|
1
1
|
RailsでN + 1クエリが発生している箇所でイーガーロードを行なってもN + 1クエリが解消されません。
|
2
2
|
|
3
|
-
実行している
|
3
|
+
実行しているメソッドは次の通りです。(ビューとコントローラ側の簡略化した実装を追加しました)
|
4
4
|
|
5
5
|
```ruby
|
6
6
|
|
7
|
-
user.followed_users.select_user_cell.limit(30).order("relationships.id").where("relationships.id > 0").includes(:relationships)
|
7
|
+
followed_users = user.followed_users.select_user_cell.limit(30).order("relationships.id").where("relationships.id > 0").includes(:relationships)
|
8
|
+
|
9
|
+
// ビュー側の実装
|
10
|
+
|
11
|
+
json_user_list = []
|
12
|
+
|
13
|
+
followed_users.each do |followed_user|
|
14
|
+
|
15
|
+
user_json = followed_user.as_json
|
16
|
+
|
17
|
+
user_json[:is_added] = user.bool_following(followed_user)
|
18
|
+
|
19
|
+
json_user_list << followed_user.as_json
|
20
|
+
|
21
|
+
end
|
22
|
+
|
23
|
+
list = { users: json_user_list }
|
24
|
+
|
25
|
+
// コントローラ側の実装
|
26
|
+
|
27
|
+
render json: list, status: 200
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
|
8
34
|
|
9
35
|
```
|
10
36
|
|
@@ -88,6 +114,14 @@
|
|
88
114
|
|
89
115
|
|
90
116
|
|
117
|
+
環境は次の通りです
|
118
|
+
|
119
|
+
Ruby 2.2.3
|
120
|
+
|
121
|
+
Rails 4.2.3
|
122
|
+
|
123
|
+
|
124
|
+
|
91
125
|
何かアドバイスをいただけると助かります。
|
92
126
|
|
93
127
|
よろしくお願いします。
|