はじめに
Bootstrap4にページネーションの機能を実装する為のメモ。
ページネーションを実装しようと思い、kaminariを使ったが、bootstrapが上手く当たらなかったので、調べて実装しました。
備忘録として残しておきます
開発環境は、ポートフォリオ作成まとめの記事に記述してあるので、そちらを参照してください。
gem'kaminari'の導入
gem 'kaminari'
まずはkaminariを導入し、bundle installし、サーバーの再起動をします。
controllerの修正
def index
@items = Item.page(params[:page]).per(5)
end
適宜コントローラーに上記の記述を追加。
今回は5個ずつ表示したいのでper(5)になっています。
Viewの修正
こちらも適宜コンテンツの表示部分は書いてください。
肝心のページネーションの部分は
= paginate @items
で表示されると思います。
hamlを使っているのでerbを使っている場合は
<%= paginate @items %>
で行けると思います。
bootstrapを適応させる
このままだと、素の状態でページネーション部分が表示されていると思うので、bootstrapを当てていきます。
公式に専用のものが用意されているので、今回はそちらを使っていきます。
以下のコマンドで出来ますが、hamlですので適宜変更してください。
$ kaminari:views bootstrap4 -e haml
これでviewファイルが作成され、表示が変化すると思います。
細かいこだわりがある方は、生成されたviewファイルを弄れば好きな様にできると思います。
まとめ
一度しかkaminari使ったことが無かったですが、非常に簡単に実装する事が出来ました。
もし無かったらどうやって実装していくのか非常に気になるので余裕が出来たら勉強してみたいと思っています。
どなたかの参考になれば幸いです。
参考サイト