Как инициализировать searchlogic без записей

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

  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

person Robert Travis Pierce    schedule 28.10.2010    source источник


Ответы (1)


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

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
person mway    schedule 28.10.2010