回答編集履歴

1

追記

2020/09/01 09:17

投稿

winterboum
winterboum

スコア23401

test CHANGED
@@ -15,3 +15,31 @@
15
15
  userBをshow、userAがcurrent_user の時のGroupとは
16
16
 
17
17
  同じGroupなのですよね?それが実現するようになっているかどうか。
18
+
19
+
20
+
21
+ #### 追記
22
+
23
+ となると、そのgroupをどうやって得るかなぁ
24
+
25
+ 1. `@user.groups` と `current_user.groups` で一致するもの
26
+
27
+ 1. `@user.group_users.pluck(:group_id)` の中にcurrent_userと同じgroup_idのものがあるか
28
+
29
+
30
+
31
+
32
+
33
+ 前者は
34
+
35
+ `@group = (@user.groups & current_user.groups).first`
36
+
37
+ (ないときはnil。 なので nil.idとならないように注意)
38
+
39
+ 後者は
40
+
41
+ `group_user = GroupUser.where(group_id: @user.group_users.pluck(:group_id).first
42
+
43
+ @group = group_user.try(:group)`
44
+
45
+ 両方共DB2回アクセスするなぁ。。。