2012-04-12 4 views
0

私はオブジェクトID(この場合は 'Users')の配列を返す検索コントローラを持っています。あらかじめではなく、改ページ時にオブジェクトを取得しますか? (Rails + Kaminari)

検索結果の配列には何百ものIDが含まれている可能性があるため、ビューに送信する必要がある場合にのみ、実際のオブジェクト自体をフェッチします。つまり、ビューロジックにオブジェクトをフェッチするのではなく、IDの各チャンク(つまり1..10,11.20など)ごとにオブジェクトを事前に取得するためにページネーションを使用したいと思います。私はこれをどのように達成するか考えていません。

私のコントローラのコード

users = [1,3,456,23423,234,23...] 
#somehow have the pagination get the Objects from DB for each page 
@persons = Kaminari.paginate_array(users).page(params[:page]).per(10) 

ビュー

- @persons.each do |person| #I WANT TO HAVE THE FULL WRITER OBJECT BY NOW 
    = person.name    # instead of doing a 'User.find(person.id)' in the view 

任意のアイデア?

ありがとうございます!

答えて

0

URLにページ番号パラメータを入れてください。次に、ページごとに10を表示し、ユーザーがページ3をクリックしたとすると、ページ番号を1ページ分(10)減算し、21を与える行を追加します。これがデータベースクエリの開始点です。結果は10件に制限されています

0

私はばかです。 @persons配列に基づいて新しい配列をマップまたは収集することができます

関連する問題