0
我很困惑如何找到我的網絡中未使用rails方法邀請到事件/社交的朋友列表set
。如何使用紅寶石類設置正確 - Rails 5
- 我有
friends
其中列出我所有的朋友(2個朋友共) - 我有一個社會/事件,我還邀請我所有的朋友在我的網絡,以
social_invited_friends
- 現在我試圖找到不請自來的朋友
social_univited_friends
通過比較「friends
和social_invited_friends
」列表
可能一個好心告訴我如何做到這一點?
這是終端
2.3.0 :207 > ap friends = Set.new((inviter.friends).to_a)
[
[0] #<User:0x007fa6f882adb0> {
:id => 2,
:email => "[email protected]"
},
[1] #<User:0x007fa6f7191db0> {
:id => 4,
:email => "[email protected]"
}
]
2.3.0 :213 > ap social_invited_friends = Set.new(Invite.where(user: inviter, invitee: nil, social: social).to_a.map(&:users))
Invite Load (0.2ms) SELECT "invites".* FROM "invites" WHERE "invites"."user_id" = 1 AND "invites"."invitee_id" IS NULL AND "invites"."social_id" = 6
User Load (0.1ms) SELECT "users".* FROM "users" INNER JOIN "invites_users" ON "users"."id" = "invites_users"."user_id" WHERE "invites_users"."invite_id" = ? [["invite_id", 30]]
User Load (0.3ms) SELECT "users".* FROM "users" INNER JOIN "invites_users" ON "users"."id" = "invites_users"."user_id" WHERE "invites_users"."invite_id" = ? [["invite_id", 31]]
[
[0] [
[0] #<User:0x007fa6f7191f90> {
:id => 2,
:email => "[email protected]"
},
[1] #<User:0x007fa6f7191db0> {
:id => 4,
:email => "[email protected]"
}
]
]
=> nil
2.3.0 :214 >
當我嘗試下面
social_univited_friends = friends.difference(social_invited_friends)
我得到下面的結果在終端
2.3.0 :207 > ap social_univited_friends = friends.difference(social_invited_friends)
[
[0] #<User:0x007fa6f882adb0> {
:id => 2,
:email => "[email protected]"
},
[1] #<User:0x007fa6f7191db0> {
:id => 4,
:email => "[email protected]"
}
]
,但我相信我應該有因爲我已經邀請我所有的朋友來參加比賽T /社會 - 我應該有類似下面:
2.3.0 :207 > ap social_univited_friends = friends.difference(social_invited_friends)
[ ]