在Rails中配对所有用户的最佳方法是什么?

问题描述:

我目前拥有一大群用户的数据库,并且正在寻找一种方法,根据一定数量的东西将它们全部配对。在Rails中配对所有用户的最佳方法是什么?

什么是随机遍历用户数据库的最佳方式,并将它们全部相互配对?确保没有人错过了,那时你所做的一切都是随机的。

有没有人有过这方面的经验?任何帮助将非常感激。

可能有很多方法可以做到这一点,但如果数据库可以处理随机查询,你可以抓住所有这样的用户(其中​​随机的()为你的数据库的随机函数)

User.order('RANDOM()').in_groups_of(2) do |a,b| 
    # code to match user a to user b 
end 

你必须处理奇数个用户,而且上述方法效率不高,但它会起作用。