我有一个轻便的搜索引擎,我试图建立起来。其中一个搜索要求是滑块范围,0-10基于人的经验。
在用户属性体验中,我们存储了5个字符串(0-1,2-3,4-5,6-8,10 +)
我一直在模型中使用ruby作用域来获取其他属性,但对于像这样的一系列字符串数据进行过滤有什么好的解决方案?
因此,例如,如果最终用户从1-8中选择滑块,它将显示所有具有此属性标记为(0-1,2-3,4-5,6-8)且不呈现的用户记录任何拥有10 +的用户
答案 0 :(得分:1)
将字符串转换为实际数字,并将实际数字存储在db中,而不是(甚至以及)字符串中存储。
在这种情况下:(0-1,2-3,4-5,6-8,10 +)很好地映射到数字1-5
然后你可以使用> <在SQL中非常容易。
例如,'1-8'滑块转换为the_column >= 0 AND the_column <= 4