Как сделать searchlogic инициализировать без записей - PullRequest
0 голосов
/ 29 октября 2010

Я использую Searchlogic в модели с десятками тысяч записей и не хочу изначально отображать их все при первой загрузке страницы поиска.Как я могу получить пустой поисковый объект от searchlogic, если нет: search params?

  def search
    @products = []
    if params[:search] && !params[:search].blank?
      @search = Product.searchlogic(params[:search])
    else
      @search = Product.searchlogic(....What goes here to get an empty searchlogic object?...)
    end
    @products = @search.all
  end

1 Ответ

1 голос
/ 29 октября 2010

Измените свою логику на это:

def search
    @products = []
    @search = params[:search] && !params[:search].blank? ?
        Product.searchlogic(params[:search]) : nil
    @products = @search.all unless @search.nil?
end

Конечно, вы можете оставить свое заявление if следующим образом:

def search
    @products = []
    @search = nil
    if params[:search] && !params[:search].blank?
        Product.searchlogic(params[:search])
    end
    @products = @search.all unless @search.nil?
end
...