備忘録です!
##kaminariのインストール
まずは、kaminariをインストール
gem 'kaminari'
bundle installします。
##controllerの設定
def index
@board = Board.all.includes(:user).order(created_at: :desc).page(params[:page])
・1ページあたりの表示件数は何件にするか(perメソッドを使用)
・何ページ目を表示させるのか(pageメソッドを使用)
これらをコントローラーで設定できます。
*今回は、別の専用ファイルで、perメソッドを設定していません。
ちなみに、kaminariは配列に対しても使用可能で、
def index
@board = Board.all.includes(:user).order(created_at: :desc)
@board = Kaminari.paginate_array(@board).page(params[:page]).per(20)
end
このように、paginata_arrayメソッドを用いれば、配列にも使用できる。
##viewの設定
<%= paginate @board %>
こちらを追加する。
##専用の設定ファイルの作成と設定
まずは、専用ファイルを作成する。
rails g kaminari:config
専用ファイルを用いて設定値を決める。
config/initializers/kaminari_config.rb
Kaminari.configure do |config|
# config.default_per_page = 20 #1ページに表示される数
# config.max_per_page = nil #1ページの最大表示数
# config.window = 4 #現在のページの左右に表示する数
# config.outer_window = 0
# config.left = 0
# config.right = 0
# config.page_method_name = :page
# config.param_name = :page
end
##bootstrapで実装
rails g kaminari:views ○○(ダウンロードしたいviewテンプレート)
とコマンドを打ち込むと、事前に用意されているテンプレートの中から、お好きな見た目を選択して使用することができますし、それらの編集も可能となります。
今回は、bootstrapのテンプレートを使用したいので、
rails g kaminari:views bootstrap4
とコマンドを打ち込むとテンプレートが生成されるので、特に変更を加えなくても、綺麗なページネーションを作成してくれる。