ページネーションを爆速で実装する!![5分]
はじめに
今回はgem'kaminari'を使ってページネーションを爆速実装していきます
ページネーション
ページネーションとは長い文章を複数のページに分割して、各ページへのリンクを並べアクセスしやすくすることです。
これですね。データの数が多くなるとよそうされる時に使用しましょう!!
'kaminari'の導入
Gemfile
gem 'kaminari'
ターミナル
bundle install
インスタンス変数の定義
Users_controller.rb
def index
@users = User.order("created_at DESC").page(params[:page]).per(5)
end
Gemfile
gem 'kaminari'
ターミナル
bundle install
Users_controller.rb
def index
@users = User.order("created_at DESC").page(params[:page]).per(5)
end
ページネーションを表示したいコントローラーのアクションで定義する。
per(5)にすれば5つで1ページ、per(10)にすれば10つで1ページになります。
Viewページ
Users/index.html.erb
<%= paginate(@users) %>
Users/index.html.erb
<%= paginate(@users) %>
表示したいところにこの記述を挿入するだけ。
めちゃめちゃかんたんですね、、、
こんな感じ。bootstrapを使えば簡単に装飾もできます。
備考
インスタンス変数の値が配列なるときは上記の書き方だとエラーが起こってしまいます。
そんなときは.paginate_arrayメソッドを使いましょう。
Users_controller.rb
def index
@users = Kaminari.paginate_array(@users).page(params[:page]).per(5)
end
こうすれば大丈夫です。
おわりに
なんで雷なんだろう、、、
Author And Source
この問題について(ページネーションを爆速で実装する!![5分]), 我々は、より多くの情報をここで見つけました https://qiita.com/nakanishi03/items/a1b0bf80ae8dce47cecb著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .