回答編集履歴

2

追記

2020/10/03 04:52

投稿

winterboum
winterboum

スコア23349

test CHANGED
@@ -19,3 +19,11 @@
19
19
 
20
20
 
21
21
  が動けば、DBアクセスは1回になります。試してください
22
+
23
+
24
+
25
+ 似た環境さっと作れなかったので、動くかどうか試してないですが
26
+
27
+ current_user.rooms.joins(:users).select("users.id as user_id").pluck(:user_id)
28
+
29
+ 動けばちょっと格好良いかな

1

追記

2020/10/03 04:51

投稿

winterboum
winterboum

スコア23349

test CHANGED
@@ -11,3 +11,11 @@
11
11
  の結果を zから引いてください。
12
12
 
13
13
  ただこの方法は rooms の数だけDBにアクセスに行くのであまりよくはないですが、とりあえずの解として
14
+
15
+
16
+
17
+ current_user.rooms.includes(:users).map{|room| room.users.ids).flatten.uniq
18
+
19
+
20
+
21
+ が動けば、DBアクセスは1回になります。試してください