1

デフォルトのレコードセットを返すための最善の方法は何でしょうか。検索結果が返されない場合。現在、以下のコードを使用していますが、正しい方法ではないと感じています。

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
4

1 に答える 1

1

これは、パラメータが渡されない場合と検索結果が返されない場合にのみ、デフォルトセットを設定しているように見えます。

検索結果を取得して、 !results.total.zero?を確認します。、それに応じてデフォルトセットをプルします

于 2012-11-30T21:29:41.587 に答える