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)
[ ]