find_by_sql和kamanari的分页

时间:2011-04-09 15:58:35

标签: ruby-on-rails pagination find-by-sql

我有一个连接到外部数据库的模型,我使用find_by_sql方法进行查询,如下所示:

External.find_by_sql(“SELECT * from table”)

但是当我添加.page(params [:page])时,会出现错误“类数组的未定义方法页面”。是否可以对使用find_by_sql提取的结果进行分页?

3 个答案:

答案 0 :(得分:9)

这对我有用:

Kaminari.paginate_array(my_array_object).page(params[:page]).per(10)

https://github.com/kaminari/kaminari/wiki/Kaminari-recipes#-how-do-i-paginate-an-array

答案 1 :(得分:2)

如果您无法避免使用find_by_sql,请查看kaminari wiki的上一个问题。

答案 2 :(得分:0)

查看kaminari插件似乎只适用于ActiveRecord和ActiveRecord范围,但find_by_sql不能用作范围,而是返回一个数组。

我没有找到,通过kaminari挖掘,一种透明的方式'分页'数组。您可以尝试手动滚动它,但它可能很棘手。