「kaminari」とは、ruby の gemの一つでページネーションを実装するものです。
今回は以下の赤枠のようなページネーションを実装するイメージです。

gem でインストール
「Gemfile」の一番下に「gem 'kaminari'」を追加します。
# ページネーション gem 'kaminari'
ターミナルで「bundle install」を実行します。
kaminariの設定ファイル生成
kaminariの設定ファイルを生成します。
$ bundle exec rails g kaminari:config
Running via Spring preloader in process 49
create config/initializers/kaminari_config.rbkaminariのViewファイル生成
kaminariのViewファイルを生成します。
bundle exec rails g kaminari:views bootstrap4
downloading app/views/kaminari/_first_page.html.erb from kaminari_themes...
create app/views/kaminari/_first_page.html.erb
downloading app/views/kaminari/_gap.html.erb from kaminari_themes...
create app/views/kaminari/_gap.html.erb
downloading app/views/kaminari/_last_page.html.erb from kaminari_themes...
create app/views/kaminari/_last_page.html.erb
downloading app/views/kaminari/_next_page.html.erb from kaminari_themes...
create app/views/kaminari/_next_page.html.erb
downloading app/views/kaminari/_page.html.erb from kaminari_themes...
create app/views/kaminari/_page.html.erb
downloading app/views/kaminari/_paginator.html.erb from kaminari_themes...
create app/views/kaminari/_paginator.html.erb
downloading app/views/kaminari/_prev_page.html.erb from kaminari_themes...
create app/views/kaminari/_prev_page.html.erb
ページネーション定義
コントローラは以下のように定義します。
def index @users = User.page(params[:page]).per(10) end
ビューファイルでページネーションを表示する部分は以下のように定義します。
<%= paginate @users %>