是否可以使用Kaminari帮助程序并使用已经分页的数据:
1。我查询elasticsearch并使所有分页从2页获得10条记录。
2. 然后我获得模型实例
应在带有页面按钮的UI上显示3。实例,例如1,2,3下一个>
我不知道如何使用Kaminary助手来做它总是抱怨:
未定义的方法`current_page for#< ActiveRecord :: Relation
答案 0 :(得分:0)
我将假设您正在使用gem Tire
与rails上的elasticsearch集成。
默认情况下,Kaminari可以在Activerecord结果集/集合上工作,也可以直接在Tire结果对象上工作。例如,如果您将模型Post
与Tire
集成,则可以说,
results = Post.search do
query do
#..
end
size 10
from (page_num - 1) * 10
end
results.next_page #returns true if next page is present
results.total #return total number of search results available
在您看来,您可以直接使用
<%= paginate results %>
关键是保持或保持对Activerecord结果集或轮胎结果的引用。未在ActiveRecord模型实例上定义paginate方法。
如果您正在尝试从弹性搜索中获取结果,那么基于获取的ID从数据库加载记录然后发回一个不能使用paginate
的数组,您将不得不使用kaminari方法进行数组Paginating Arrays with Kaminari
您可以直接告诉tire
加载活动记录对象:
Post.search 'term', :load => true