0
私はCSVから数千の行をロードするGET要求を持っています。私はそれからすべての行を取得し、それをハッシュに変換します。私はDOMでこのJSONデータを表示することができRubyでJSONにページネーションを追加するにはどうすればよいですか?
def index
rows = []
CSV.foreach('test.csv', headers: true) do |row|
rows << row.to_hash
json_data = rows.to_json #converts all of the rows to JSON data
@users = json_data
end
次のようになります
マイGETリクエストメソッドは、しかし、それはロードに時間がかかります。私はwill_paginate gemを試してみましたが、デフォルトではページあたり25個のエントリになっています。それはうまくいきますが、まだすべてのデータをページ分割ヘッダーで一度にロードしています。
これは、ページ1に25行のjsonをロードするだけです。ページ2を選択すると、次の25ページが読み込まれるので、すべてのデータを処理するまで?
は、Ruby/JSONが出ウィザードあなたから任意の助けに感謝
ありがとうございます!私はそれを試してみましょう。 これで、すべてのデータが一度にロードされますか?または、ページ2を選択すると最初の25行、次に25行だけロードされますか?したがって、すべてをロードしようとしている私のサーバーを殺していない – menix
そのような作品の種類。私のデータのページ区切りを返します。しかし、それは一度にすべての呼び出しを行います!私は最初の25行を呼び出すだけです。それでおしまい。次に[次へ]をクリックすると、呼び出しが行われ、次の25行がフェッチされます。 人々は大量のデータをどのように扱いますか?何千もの行を含むクエリを読み込んでいる場合、すべてのデータが返されるのを待つのではなく、一度にセクションを取得するにはどうすればよいでしょうか? – menix
使用しているCSVライブラリには、適切な量の行を取得できる他の方法があります。しかし、現在のページに応じて、どの行を開始するかを計算する必要があります。式は次のとおりです: '(page-1)* per + 1' – DiegoSalazar