返回默认记录集的最佳方法是什么?如果没有返回搜索结果。当前正在使用下面的代码,但是感觉不正确。

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/

10-13 07:52
查看更多