外部データベースに接続するモデルがあり、次のように find_by_sql メソッドを使用してクエリを実行します。
External.find_by_sql("SELECT * テーブルから")
ただし、.page(params[:page]) を追加すると、「クラス配列の未定義メソッド ページ」というエラーが表示されます。find_by_sql を使用してフェッチされた結果をページ分割することは可能ですか?
外部データベースに接続するモデルがあり、次のように find_by_sql メソッドを使用してクエリを実行します。
External.find_by_sql("SELECT * テーブルから")
ただし、.page(params[:page]) を追加すると、「クラス配列の未定義メソッド ページ」というエラーが表示されます。find_by_sql を使用してフェッチされた結果をページ分割することは可能ですか?
これは私のために働いた:
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
find_by_sql を使用せざるを得ない場合は、kaminari wikiの最後の質問を参照してください。
kaminari プラグインを見ると、ActiveRecord および ActiveRecord スコープにのみ適用されるように見えますが、find_by_sql はスコープとして機能せず、配列を返します。
配列を「ページ分割」する透明な方法であるカミナリを掘り下げて、私は見つけていません。手で巻いてみるのもいいですが、難しいかもしれません。