kaminariでpaginationを実装

kaminariでpaginationを実装:


pagination(ページネーション)とは?

例えば、Google検索をした時に一番下に出るページ番号のこと。

長いビューを複数のページに分割して、各ページへのリンクを並べて見やすくする。


kaminariでpaginationを実装!

kaminariとはrubyのgemの一種。

Gemgfileにkaminariを追加。

Gemfile
gem 'kaminari' 
bundle installを実行。

ターミナル
$ bundle install 
(ローカル)サーバーの再起動

ターミナル
$ rails s 


コントローラーの編集

kaminariを導入後は、コントローラーを編集して、1ページあたりに表示したい件数を指定する



hoge_controller.rb
変数名 = クラスを利用して取得したレコードのインスタンス.page(params[:page]).per(1ページに表示したい件数) 
例えば、

tweets_controller.rb
@tweets = Tweet.all.order('id DESC').page(params[:page]).per(5) 


ビューの編集

コントローラーの編集後、ビューを編集してページネーションのリンクを作成する。

リンクを作成したい場所に、

hoge.html.erb
<%= paginate(@tweets) %> 
を記述する。例えば、

index.html.erb
<div class="contents row" > 
  <% @tweets.each do |tweet| %> 
    <div class="content_post" style="background-image: url(<%= tweet.image %>);"> 
      <%= simple_format(tweet.text) %> 
      <span class="name"><%= tweet.name %></span> 
    </div> 
  <% end %> 
  <%= paginate(@tweets) %> 
</div> 

コメント

このブログの人気の投稿

投稿時間:2021-06-17 05:05:34 RSSフィード2021-06-17 05:00 分まとめ(1274件)

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2020-12-01 09:41:49 RSSフィード2020-12-01 09:00 分まとめ(69件)