お世話になっております。
現在、kaminariを使用してページャーを作成しています。こちらの仕様ついてご質問したいです。
例えば、Modelに対して Model.page(params[:page]).per(20) とした場合は、「SELECT * FROM TABLE LIMIT perの値 OFFSET :pageの値」といったSQL
が発行されるので、ページに必要なレコードのみを取得してくるかと思います。
今回は、Modelとは異なる型の配列をKaminariでページングしようとしています。
この実装の場合、最初の models = Model.Allで全てのレコードを取得してしまうため、処理
が遅くなってしまっています。
def controller
models = Model.All
return_array = []
hash = {:name =>""}
models.each do |model|
hash[:name] = model.flg == 1 ? model.firstname : model.lastname
return_array.push(hash)
end
@returnview = Kaminari.paginate_array(return_array).page(params[:page]).per(20)
End
また、配列ではなくActiveAttrというgemで、テーブルなしModelを作成できるようですが、
こちらではkaminariを使用することができませんでした。
何か良い方法はないでしょうか?

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/03/20 12:42