kaminariを使ってみる
kaminariとは?
ページング機能を簡単に実装できるGemです。
早速実装していきます。
土台となるアプリケーションを作成する。
$ rails new kaminari_test
$ rails g scaffold Blog title:string content:text
$ bin/rails db:migrate
テストデータを10件くらい作っておきます。
kaminariをインストール
gem 'kaminari'
$ bundle install
indexアクションを修正
# GET /blogs # GET /blogs.json def index @blogs = Blog.all.page(params[:page]).per(3) end
perにはページングしたい数字を渡してあげることができます。
ビューを修正
<p id="notice"><%= notice %></p> <h1>Blogs</h1> <!-- ページング情報を表示 --> <%= page_entries_info @blogs %> <table> <thead> <tr> <th>Title</th> <th>Content</th> <th colspan="3"></th> </tr> </thead> <tbody> <% @blogs.each do |blog| %> <tr> <td><%= blog.title %></td> <td><%= blog.content %></td> <td><%= link_to 'Show', blog %></td> <td><%= link_to 'Edit', edit_blog_path(blog) %></td> <td><%= link_to 'Destroy', blog, method: :delete, data: { confirm: 'Are you sure?' } %></td> </tr> <% end %> </tbody> </table> <br> <!-- ページングボタンを表示 --> <%= paginate @blogs %> <%= link_to 'New Blog', new_blog_path %>
ブラウザ上で表示確認
このようにkaminariを使うことで簡単にページング機能を実装することができます。