【发布时间】:2014-04-26 01:09:10
【问题描述】:
我正在为同一个视图使用 to 方法并使用渲染,一切正常,但搜索仍然基于索引方法而不是我的其他方法。我是否必须为其他方法创建一个完整的新视图才能单独工作?
示例:
在我的控制器中,我有:
def index
@search = Post.search do #Post.search do
fulltext params[:search]
paginate :page => params[:page], :per_page => 20
order_by(:updated_at, :desc)
end
@posts = @search.results
end
def local
@search = Post.search do #Post.search do
fulltext params[:search]
with(:school, current_user.school)
facet(:school)
paginate :page => params[:page], :per_page => 20
order_by(:updated_at, :desc)
end
@posts = @search.results
render :index
end
如果我翻转方法并将索引设为本地,反之亦然,那么当我搜索时,搜索会根据 :school 过滤结果,但是代码的方式是,我有一个指向本地操作的链接,并且所有内容都被过滤了但是当我搜索时,无论学校领域如何,我都会得到结果
必须有比复制我的 index.html.erb 并将其更改为 local.html.erb 更好的解决方案
谢谢!
【问题讨论】:
-
好的,我想我可以在视图中有一个if语句并传递不同的参数,所以我可以将参数搜索重命名为本地方法中的本地搜索
标签: ruby-on-rails search ruby-on-rails-4 render sunspot