インデックス ページにスキャフォールドを生成すると、データベース内のすべてのデータが一覧表示されます。1 ページあたり 10 件の投稿だけが必要で、一番下にクリックするページ 1、2、3、... がある場合はどうすればよいでしょうか。また、すべてのデータを取得したくなく、javascript を使用してそれらをページに分割します。正確に 10 件の投稿をクエリしたいのですが、誰かがページ 2 をクリックすると、別のクエリが開始されます。
プラグインなしのアイデアはありますか?
インデックス ページにスキャフォールドを生成すると、データベース内のすべてのデータが一覧表示されます。1 ページあたり 10 件の投稿だけが必要で、一番下にクリックするページ 1、2、3、... がある場合はどうすればよいでしょうか。また、すべてのデータを取得したくなく、javascript を使用してそれらをページに分割します。正確に 10 件の投稿をクエリしたいのですが、誰かがページ 2 をクリックすると、別のクエリが開始されます。
プラグインなしのアイデアはありますか?
カミナリの宝石を使用できます
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}
おそらくページネーションを使用する必要があります。これを見ることができます https://github.com/mislav/will_paginate http://railscasts.com/episodes/254-pagination-with-kaminari、これは一般の人々が行うことであり、あなたのためにかなりうまく処理します:)
このhttp://www.nullislove.com/2007/05/24/pagination-in-rails/を見て 、自分でロールアップできます。