mae*_*cro 7 ruby-on-rails sunspot kaminari
我最近决定将我的索引引擎从sphinx移植到solr.使用kaminari和thinking_sphinx我决定尝试在太阳黑子中使用通用分页https://github.com/sunspot/sunspot/pull/64/https://github.com/sunspot/sunspot/pull/67,按顺序使用避免移动到will_paginate.
我的搜索处理如下:
@search = Address.search do
fulltext params[:search]
with(:updated_at).greater_than(1.week.ago)
order_by :updated_at, :desc
paginate :page => params[:page], :per_page => 7
end
Run Code Online (Sandbox Code Playgroud)
我的观点与使用thinking_sphinx时的观点相同:
<%= render :partial => 'address' %>
<%= paginate @addresses %>
Run Code Online (Sandbox Code Playgroud)
我的问题是,在更改后,我在尝试执行搜索时不断收到以下错误:
undefined method `current_page' for []:Array
Run Code Online (Sandbox Code Playgroud)
我正在使用最新版本的太阳黑子,据我所知应该让我使用kaminari:
Using sunspot (1.3.0.rc3) from git://github.com/sunspot/sunspot.git (at master)
Using sunspot_rails (1.3.0.rc3) from git://github.com/sunspot/sunspot.git (at master)
Run Code Online (Sandbox Code Playgroud)
这与我的旧think_sphinx设置完美配合,所以我做错了什么?
Dea*_*mer 13
这就是我使用的方式,效果很好
@search = Sunspot.search(Listing) do
if params[:category].present?
with :category_id, params[:category]
end
if params[:subcategory].present?
with :subcategory_id, params[:subcategory]
end
if params[:q].present?
keywords params[:q] do
fields :title, :description
end
end
paginate :page => params[:page], :per_page => SEARCH_RESULT_PER_PAGE
end
Run Code Online (Sandbox Code Playgroud)
在观点中,我有这个
<%= paginate @search.hits %>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3757 次 |
最近记录: |