teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2020/09/01 09:17

投稿

winterboum
winterboum

スコア23654

answer CHANGED
@@ -6,4 +6,18 @@
6
6
  特に気になるのは
7
7
  userAをshow、userBがcurrent_user の時のGroupと
8
8
  userBをshow、userAがcurrent_user の時のGroupとは
9
- 同じGroupなのですよね?それが実現するようになっているかどうか。
9
+ 同じGroupなのですよね?それが実現するようになっているかどうか。
10
+
11
+ #### 追記
12
+ となると、そのgroupをどうやって得るかなぁ
13
+ 1. `@user.groups` と `current_user.groups` で一致するもの
14
+ 1. `@user.group_users.pluck(:group_id)` の中にcurrent_userと同じgroup_idのものがあるか
15
+
16
+
17
+ 前者は
18
+ `@group = (@user.groups & current_user.groups).first`
19
+ (ないときはnil。 なので nil.idとならないように注意)
20
+ 後者は
21
+ `group_user = GroupUser.where(group_id: @user.group_users.pluck(:group_id).first
22
+ @group = group_user.try(:group)`
23
+ 両方共DB2回アクセスするなぁ。。。