-1

インデックス ページにスキャフォールドを生成すると、データベース内のすべてのデータが一覧表示されます。1 ページあたり 10 件の投稿だけが必要で、一番下にクリックするページ 1、2、3、... がある場合はどうすればよいでしょうか。また、すべてのデータを取得したくなく、javascript を使用してそれらをページに分割します。正確に 10 件の投稿をクエリしたいのですが、誰かがページ 2 をクリックすると、別のクエリが開始されます。

プラグインなしのアイデアはありますか?

4

2 に答える 2

1

カミナリの宝石を使用できます

https://github.com/amatsuda/kaminari

次に、コントローラーを JS 経由で応答するように設定し、AJAX を使用してページを更新します。

編集

自分で書きたい場合は、これを行うことができます。

def index
   page = params[:page] ? params[:page] || 0
   @posts = Post.limit(10).offset(10*page)
   count = Post.count
end

次に、ビューでカウントを使用してリンクを作成します

/posts through /post?page=#{(count/10) - 1}
于 2013-03-31T23:35:22.140 に答える
0

おそらくページネーションを使用する必要があります。これを見ることができます https://github.com/mislav/will_paginate http://railscasts.com/episodes/254-pagination-with-kaminari、これは一般の人々が行うことであり、あなたのためにかなりうまく処理します:)

このhttp://www.nullislove.com/2007/05/24/pagination-in-rails/を見て 、自分でロールアップできます。

于 2013-03-31T23:32:13.787 に答える