【问题标题】:How to have searchlogic initialize with no records如何在没有记录的情况下初始化搜索逻辑
【发布时间】:2010-10-28 21:56:39
【问题描述】:
我在具有数万条记录的模型中使用Searchlogic,并且不想在第一次加载搜索页面时将它们全部显示出来。如果没有 :search 参数,如何从 searchlogic 获取空的搜索对象?
定义搜索
@产品 = []
如果 params[:search] && !params[:search].blank?
@search = Product.searchlogic(params[:search])
别的
@search = Product.searchlogic(....这里有什么可以得到一个空的 searchlogic 对象?...)
结尾
@products = @search.all
结尾
【问题讨论】:
标签:
ruby-on-rails
ruby
searchlogic
【解决方案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