我正在尝试创建一种匹配制作RoR应用程序,其中用户在表格中具有“兴趣”作为布尔值。我试图根据用户共有多少布尔值来匹配用户。是否有一些方法可以使用简单的WHERE查询来执行此操作,而不是遍历整个列表并在控制器中匹配它们?
+-------+--------+------------+----------+---------+
| user | tennis | basketball | swimming | running |
+-------+--------+------------+----------+---------+
| test1 | true | true | false | false |
| test2 | true | true | false | false |
| test3 | false | true | false | false |
+-------+--------+------------+----------+---------+
所以说“test1”已登录并试图找到具有相似兴趣的人。
“test2”将是一个很好的匹配,我可以找到他使用user.where(“tennis =?AND basketball =?”,true,true)
但是找不到“test3”
我也可以做user.where(“tennis = true”),但不会将“test2”显示为更好的匹配。
感谢任何帮助。