0

我在具有数万条记录的模型中使用Searchlogic,并且不想在第一次加载搜索页面时将它们全部显示出来。如果没有 :search 参数,如何从 searchlogic 获取空的搜索对象?

  定义搜索
    @产品 = []
    如果 params[:search] && !params[:search].blank?
      @search = Product.searchlogic(params[:search])
    别的
      @search = Product.searchlogic(....什么地方可以得到一个空的 searchlogic 对象?...)
    结尾
    @products = @search.all
  结尾
4

1 回答 1

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
于 2010-10-28T21:58:38.690 回答