0

そのため、オブジェクト ID (この場合は「ユーザー」) の配列を返す検索コントローラーがあります。

検索結果の配列には何百もの 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

何か案は?

前もって感謝します!

4

2 に答える 2

0

私はアホです。@persons 配列に基づいて新しい配列をマップまたは収集するだけです

于 2012-04-12T15:17:02.127 に答える
0

URLにページ番号パラメータを入れてください。次に、1 ページあたり 10 を表示したい場合、ユーザーが 3 ページをクリックすると、ページ番号を 1 ページ (10) 引いて 1 を足すと 21 になります。これがデータベース クエリの開始点です。結果を 10 件に制限

于 2012-04-12T15:18:01.550 に答える