4

外部データベースに接続するモデルがあり、次のように find_by_sql メソッドを使用してクエリを実行します。

External.find_by_sql("SELECT * テーブルから")

ただし、.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 はスコープとして機能せず、配列を返します。

配列を「ページ分割」する透明な方法であるカミナリを掘り下げて、私は見つけていません。手で巻いてみるのもいいですが、難しいかもしれません。

于 2011-04-09T16:18:38.333 に答える