使用范围滑块来扩展/过滤字符串Ruby数据的最简单方法

时间:2014-08-20 05:31:25

标签: ruby search scope

我有一个轻便的搜索引擎,我试图建立起来。其中一个搜索要求是滑块范围,0-10基于人的经验。

在用户属性体验中,我们存储了5个字符串(0-1,2-3,4-5,6-8,10 +)

我一直在模型中使用ruby作用域来获取其他属性,但对于像这样的一系列字符串数据进行过滤有什么好的解决方案?

因此,例如,如果最终用户从1-8中选择滑块,它将显示所有具有此属性标记为(0-1,2-3,4-5,6-8)且不呈现的用户记录任何拥有10 +的用户

1 个答案:

答案 0 :(得分:1)

将字符串转换为实际数字,并将实际数字存储在db中,而不是(甚至以及)字符串中存储。

在这种情况下:(0-1,2-3,4-5,6-8,10 +)很好地映射到数字1-5

然后你可以使用> <在SQL中非常容易。

例如,'1-8'滑块转换为the_column >= 0 AND the_column <= 4

的SQL