我有以价格为属性的产品型号。
此查询工作正常,但需要修改一些内容。
@products = Product.search(params[:query], :with => {:price => (params[:price_start].to_s.to_i..params[:price_end].to_s.to_i).to_a}, :page => params[:page], :per_page => 16)
我有一些预定义的价格范围,目前的价格范围是:
问题是
:with => {:price => (params[:price_start].to_s.to_i..params[:price_end].to_s.to_i).to_a}
在(1-100),(100-300),(300-600)的情况下工作正常。但是如何过滤600多个范围。如何传递查询:
:with => {:price > (params[:price_start].to_s.to_i} ie the case when price > 600
我正在验证用户是不是在更改构成长数组的params。
如何修改此查询以传递>和<而不是价格数组。
答案 0 :(得分:4)
思考Sphinx仅使用范围,不大于/小于符号。
在我的应用中,我做了类似的事情:
value = 23
MyClass.search("itemname", :with => {:price => value..0xffffffff})
答案 1 :(得分:2)
可能是:without => {:price => 1..600}
?