我正在制作一天内提供2名randam用户的服务。 我正在创造这样的逻辑。
1.将用户db推送到数组
2.提供有3个用户的数组
3.获取current_user(使用设备gem)所在的数组并提供此数组中的用户
但我坚持第三部分...... - 获取current_user(使用设备gem)所在的数组
创建这个逻辑的想法吗?
arr = User.all.shuffle
arr_list = arr.each_slice(3).to_a
[[#<User id: 3, email: “3@sample.com", created_at: "2017-07-11 10:57:14", updated_at: "2017-07-11 10:57:54">,
#<User id: 2, email: “2@sample.com", created_at: "2017-07-11 10:14:08", updated_at: "2017-07-11 11:00:24">,
#<User id: 6, email: “6@sample.com", created_at: "2017-07-11 10:59:14", updated_at: "2017-07-11 10:59:14">],
[#<User id: 1, email: “1@sample.com", created_at: "2017-07-11 06:52:31", updated_at: "2017-07-11 06:52:31">,
#<User id: 7, email: “7@sample.com", created_at: "2017-07-11 10:59:34", updated_at: "2017-07-11 10:59:44">,
#<User id: 4, email: “4@sample.com", created_at: "2017-07-11 10:58:14", updated_at: "2017-07-11 10:58:26">],
[#<User id: 8, email: “8@sample.com", created_at: "2017-07-11 10:59:59", updated_at: "2017-07-11 11:00:10">,
#<User id: 5, email: “5@sample.com", created_at: "2017-07-11 10:58:44", updated_at: "2017-07-11 10:58:55">]]
如果current_user为1,我想提供user_id 7和4.
答案 0 :(得分:0)
试试这个
other_users = arr_list.find { |arr| arr.include?(current_user) } - [current_user]
答案 1 :(得分:0)
我猜你是否正在努力确保当前用户没有收到优惠?如果是这样,那么为什么不这样做:
User.where.not(id: current_user).sample(2)