Rails:太阳黑子和Will_Paginate问题

时间:2013-05-18 16:55:14

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

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

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

def index

@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

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

def index

@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

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

def index

@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

搜索仍然有效,但分页似乎没有出现...... 我是如何让他们一起工作的?

非常感谢!

1 个答案:

答案 0 :(得分: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