4

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

External.find_by_sql("SELECT * from table")

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

4

3 回答 3

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

于 2012-06-05T22:14:51.090 回答
2

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

于 2011-04-09T16:37:04.720 回答
0

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

在挖掘 kaminari 时,我还没有找到一种“分页”数组的透明方式。您可以尝试手动滚动它,但这可能会很棘手。

于 2011-04-09T16:18:38.333 回答