是否有可能有 Kaminari 助手并使用已经分页的数据:
1.我查询elasticsearch并使那里的所有分页从2页中获得10条记录。
2.然后我得到模型实例
3.实例应显示在 UI 上,带有页面按钮,例如 1,2,3 next>
我不知道如何使用 Kaminary 帮手它总是抱怨:
#<ActiveRecord::Relation 的未定义方法`current_page
是否有可能有 Kaminari 助手并使用已经分页的数据:
1.我查询elasticsearch并使那里的所有分页从2页中获得10条记录。
2.然后我得到模型实例
3.实例应显示在 UI 上,带有页面按钮,例如 1,2,3 next>
我不知道如何使用 Kaminary 帮手它总是抱怨:
#<ActiveRecord::Relation 的未定义方法`current_page
我将假设您正在使用 gemTire
与 rails 上的 elasticsearch 集成。
Kaminari 默认情况下适用于 Activerecord 结果集/集合或直接适用于轮胎结果对象。例如,如果你有一个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 模型实例上定义。
如果您尝试从弹性搜索中获取结果,则根据获取的 ids 从数据库加载记录,然后发回您无法使用的数组,paginate
您将不得不对数组使用 kaminari 方法Paginating Arrays with Kaminari。
您可以改为直接告诉tire
加载活动记录对象:
Post.search 'term', :load => true