0
0

More than 1 year has passed since last update.

kaminariを使ったページネーションの作り方

Last updated at Posted at 2022-11-03

初めに

Gemfileに下記のkaminariを追加してあげます。
追加したらbundle installを忘れないようにしましょう。

gem 'kaminari','~> 1.2.1'
$ bundle install

bundle installをしたら次にkaminariの設定ファイルを作成する為に下記のコマンドをターミナルに打ち込みます。

$ rails g kaminari:config

最後に、kaminariが利用するテンプレートを作成してあげます。

$ rails g kaminari:views default

これでひとまず準備は完了です。

次にControllerに記述

例としてindexで記述しています。

app/controllers/books_controller.rb
def index
  @books = Book.page(params[:page]).per(9)
end

上記のようにpage(params[:page]).per(9)を付け足してあげます。
補足でper(9)は何を意味しているかと言うと、per(1ページで表示したい件数)と言うことになります。
自分自身で表示したい件数を決めて頂けたら結構です。

次にViewに記述

app/views/books/index.html.erb
〜省略〜
      <% if book.image.attached? %>
        <%= image_tag book.image, size:"200x120" %>
      <% end %>
             <%= book.title %>
           </div>
     <%= paginate @books %>
   </div>

上記のように表示させたいviewのところに<%= paginate @books %>を入れてあげる事によりControllerにも記述した通り上記の記述で投稿が9つ以上だったら次のページにいけるようになりました。
これをそれぞれ表示させたいページに記述してあげるとページネーションが表示されると思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0