見出し画像

Rails-KAMINARIページネーションを導入

投稿一覧ページにページネーションを設置する


例: bootstrap5

Gemfile

gem 'kaminari', '~> 1.2', '>= 1.2.1' # こちらのgemを追加
gem 'bootstrap5-kaminari-views', '~> 0.0.1'

ターミナル

$ bundle

ターミナル

$ rails g kaminari:config

app / config / initializers / kaminari_config.rb

# 1ページあたりの表示上限件数を指定
Kaminari.configure do |config|
   config.default_per_page = 10 #追加
end

app / assets / controllers / tweets_controller.rb

def index
   @tweets= Tweet.page(params[:page]).per(10).reverse_order #追加
end
# 1ページ10件表示 | 最新順(投稿の順番)

app / assets / views / tweets / index.html.erb

<%= paginate @tweets, theme: 'bootstrap-5' %> #追加

参考サイト:


例: デフォルト

Gemfile

gem 'kaminari','~> 1.2.1'

ターミナル

$ bundle

ターミナル

$ rails g kaminari:config    # configにkaminari_config.rbが追加される
$ rails g kaminari:views default    # viewにデフォルトファイルが追加される

app / assets / controllers / tweets_controller.rb

def index
   @tweets= Tweet.page(params[:page]).per(10).reverse_order #追加
end
# 1ページ10件表示 | 最新順(投稿の順番)

app / assets / views / tweets / index.html.erb

<%= paginate @tweets %> #追加

参考サイト: