ページネーションのレイアウト変更
ページネーションのレイアウト変更
前回に引き続き、kaminariで導入したページネーションのレイアウトを変更していく。
前回の記事 URL
ページネーションの実装(gemの「kaminari」実装) - takifugu’s blog
前提条件
Bootstrap導入済み(yarnにて導入)
参考URL Bootstrapの実装 - takifugu’s blog
実装
gemのbootstrap5-kaminari-viewsを使用してレイアウトを変更していく。
Gemfileに下記を記述し、反映させる(bundle install)。
Gemfile
: gem 'bootstrap5-kaminari-views'
ページネーションを表示させる部分に下記の記述を追加し、bootstrap5を反映させる。booksの部分は適宜変更。
<%= paginate books, theme: 'bootstrap-5' %>
theme: 'bootstrap-5'で記述をbootstrap5を反映させる。
view表示↓
Bootstrapを導入したことにより見やすいレイアウトになりました。
Bootstrapを導入した場合のデフォルトはこの状態ですが、
ここからさらに変更していきたい場合、現状のcssは、app/javascript配下のフォルダを参照しているため、
app/javascript配下のフォルダを編集することで、レイアウトの変更ができます。
※app/views/layouts/application.html.erbの記述が、下記のようになっていればcssがapp/javascript配下のフォルダを参照しています。
<%= stylesheet_pack_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
stylesheet_pack_tagの部分が、stylesheet_link_tagとなっていれば、app/assets 配下のフォルダを参照します。
レイアウトの色を変更
試しに色を変更していきます。
app/javascript/stylesheets/application.scssに記述していく。
app/javascript/stylesheets/application.scss
: /* pagenation layouts */ $pagenation_color: rgb(177,31,255); .page-item.active .page-link { background-color: $pagenation_color; border-color: $pagenation_color; } .a page-link { color: $pagenation_color; } .page-item a:hover { color: $pagenation_color; } .page-item a { color: $pagenation_color; }
pagenation_colorを定義し、定義した色に変更しています。
下記のようなviewになります。
ページネーションの日本語化
最後に表示を日本語化していきます。
まず、config/application.rbに記述を追加します。
config/application.rb
: module Bookers2Ver2 class Application < Rails::Application : config.i18n.default_locale = :ja #追加 end end
そして、config/localesフォルダにkaminari_ja.ymlファイルを作成し、記述していく。
config/locales/kaminari_ja.yml
ja: views: pagination: first: '最初' last: '最後' previous: '前' next: '次' truncate: '...'
サーバーを立ち上げ直すと、下記のような表示になります。
以上、レイアウトの変更方法は他にもあるため、他の方法でも試していければと思います。