undefined方法`paginate'问题

时间:2014-03-03 01:15:01

标签: ruby-on-rails ruby pagination sunspot will-paginate

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

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>

1 个答案:

答案 0 :(得分:0)

尝试在搜索块中使用:

@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