Ruby on rails 轨道:太阳黑子和将产生的问题

Ruby on rails 轨道:太阳黑子和将产生的问题,ruby-on-rails,indexing,sunspot,will-paginate,Ruby On Rails,Indexing,Sunspot,Will Paginate,关于使用太阳黑子搜索宝石,我的大学项目遇到了一个障碍,我将继续。我一直在我的项目索引控制器中使用sunspot,它工作得很好,但当我向同一索引添加分页时,它产生了一个问题。我似乎不能同时进行搜索和分页 这给了我分页(见下文): def索引 @projects = Project.all @projects = Project.paginate :per_page => 4, :page => params[:page] respond_to do |format| format.

关于使用太阳黑子搜索宝石,我的大学项目遇到了一个障碍,我将继续。我一直在我的项目索引控制器中使用sunspot,它工作得很好,但当我向同一索引添加分页时,它产生了一个问题。我似乎不能同时进行搜索和分页

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

def索引

@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
结束

这为我提供了搜索索引(见下文):

def索引

@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
结束

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

def索引

@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
结束

搜索仍然有效,但分页未显示。。。 有没有办法让他们一起工作


非常感谢

在这里回答我自己的问题时,我从未想到添加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

在这里回答我自己的问题时,我从未想到添加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