返回默认记录集的最佳方法是什么?如果没有返回搜索结果。当前正在使用下面的代码,但是感觉不正确。
def self.search(params)
puts "SEARCH PARAM ="
puts params
if params
tire.search(load: true, page: params[:page], per_page: 20, :default_operator => 'AND', :use_dis_max => true) do
query do
boolean do
must { string 'gamers:2' } if params[:gamers] == "2"
must { string 'gamers:4' } if params[:gamers] == "4"
end
end
to_curl
end
else
puts "search params not found"
@gamers = Gamers.where(:level => "rookie")
end
end
最佳答案
看起来您只是在没有传递参数而没有返回搜索结果的情况下才放入默认设置。
我会得到搜索结果,并检查!results.total.zero? ,然后相应地拉默认设置
关于ruby-on-rails-3 - elasticsearch/tyre如何正确返回默认记录集?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13156218/