Pagyの使い方まとめ
この記事について
rubygemsのPagyについて調べたことと使い方についてまとめます。 rails上で動作させること前提で記事を書きました。
Pagyとは
will-paginateやkaminariと同じページネーションを提供してくれる機能を持つgemです。それらよりも高速でメモリ効率が良いことなどを謳っています。
使い方
Pagy::Backend
をcontrollerにインクルードして、Pagy::Frontend
をhelperにインクルードするだけで基本的なページネーション機能を使うための準備が整います。
使ってみた
scaffoldで簡単なアプリを作って、コンソールからPostインスタンスを40個作成してみました。1スクリーンに入りきっていない...
ここからpagyを導入してみます。
上記のようにPagy::Backend
とPagy::Frontend
をインクルードしてから、
application_controller.rb
def index --- @posts = Post.all +++ @pagy, @posts = pagy(Post.all) end
posts/index.html.erb
# ページネーションつけたい所に <%== pagy_nav(@pagy) %>
すると、以下のようにページネーション機能を導入することができました。
また、必要に応じてpagyに用意されているextrasを読み込むことによって簡単に機能を拡張させることができます。
まとめ
extrasがかなり便利そうなのでもう少し調べて見たいと思います。 また、コード量が少なくかなり読みやすそうなのでコードリーディングの練習にもいいかもなと思いました。