リモート http リクエストから API (または多数) へのソースである非永続データのページネーションについて質問があります。
私の Rails 3 アプリは net/http リクエストを検索エンジン API に送信し、JSON オブジェクトを受け取ります。これをルビーにロードし、結果をビューにページ付けしています。最初のクエリは 50 件のヒットを受け取り、Kaminari は次のように表示しています。
@items = Kaminari.paginate_array(array).page(params[:page]).per(10)
ビューでページ 2 をクリックすると、コントローラーは結果を使用するのではなく、JSON の要求を再度実行しますarray
。
このコードはヘルパー メソッドにあり、これが問題です。ページネーションコードをコントローラーに移動すると、これが可能になることを認識しています。bing_search
今すぐ返し@items
ます。
if params[:bing]
@bing = bing_search(@query)
end
次のようなものが必要です:
@items = Kaminari.paginate_array(@bing).page(params[:page]).per(10)
ページネーション中にどのように持続できるのか疑問に思っていますarray
。キャッシングを調べたところ有望に見えますが、それがどのように機能するかについてはまだ何も知りません。