1

我在大学项目中遇到了关于使用 Sunspot 搜索 gem 和 will_paginate 的问题。我一直在我的项目索引控制器中使用太阳黑子,它工作正常,但是当我将分页添加到同一个索引时,它产生了一个问题。我似乎无法同时进行搜索和分页。

这给了我分页(见下文):

定义索引

@projects = Project.all
@projects = Project.paginate :per_page => 4, :page => params[:page]
respond_to do |format|
  format.html # index.html.erb
  format.json { render json: @projects }
end

结尾

这给了我我的搜索索引(见下文):

定义索引

@projects = Project.all
@search = Project.search do
  fulltext params[:search]
end
@projects = @search.results
respond_to do |format|
  format.html # index.html.erb
  format.json { render json: @projects }
end

结尾

但是当我添加分页时它不起作用/显示(见下文):

定义索引

@projects = Project.paginate :per_page => 4, :page => params[:page]
@search = Project.search do
  fulltext params[:search]
end
@projects = @search.results
respond_to do |format|
  format.html # index.html.erb
  format.json { render json: @projects }
end

结尾

搜索仍然有效,但没有出现分页...有什么想法可以让它们一起工作吗?

非常感谢!

4

1 回答 1

1

在这里回答我自己的问题,我从来没有想到要添加 IF 和 ELSE 来分隔 def 索引中的操作....

这完美地工作......

if params[:search]
@search = Project.search do
  fulltext params[:search]
end
  @projects = @search.results
else
@projects = Project.all
@projects = Project.paginate(:page => params[:page], :per_page => 4)
respond_to do |format|
  format.html # index.html.erb
  format.json { render json: @projects }
end
于 2013-05-19T15:48:45.983 回答