未定义的方法"分页"问题



我的控制器中有以下代码:

def index
  @search = Product.search do |query|
    query.fulltext params[:sSearch]
    query.with(:store_id, @store.id)
  end
  products = @search.results.paginate(page).per_page(per_page)
end
private
  def page
     params[:iDisplayStart].to_i/per_page + 1
  end
  def per_page
     params[:iDisplayLength].to_i > 0 ? params[:iDisplayLength].to_i : 10
  end

但我收到错误:

undefined method `paginate' for #<Sunspot::Search::PaginatedCollection:0x007f86243ac440>

尝试在搜索块中使用:

@search = Product.search do |query|
    query.paginate page: page, per_page: per_page
end

您无需在块中使用查询变量。您可以直接在块中调用方法。

@search = Product.search do
    fulltext params[:sSearch]
    with(:store_id, @store.id)
    paginate page: page, per_page: per_page
end

最新更新