updated on 2019-07-26
ruby 2.4.2
rails 5.2.1
gem 'will_paginate', '3.1.6' gem 'bootstrap-will_paginate', '1.0.0'
追加したら$ bundle install
を実行します。
モデル名.paginate
でページネーションを扱える
Hoge.where(id: [1,2,3]).paginate
みたいに条件で絞り込んだデータにページネーションもできる
(articles_controller.rb)
def index @articles = Article.paginate(page: params[:page], per_page: 20) # デフォルトでは30件 end
以下の一行のコードを貼り付けるだけで、ページネーションが追加される
<div class="text-center">はbootstrapの中央寄せを行うラッパー
別になくても良い
(index.html.erb)
<div class="text-center"> <%= will_paginate @articles %> </div>
設定していないと、ラベルが英語表記
config/application.rb
config.i18n.default_locale = :ja
config/locals/ja.yml
ja: will_paginate: previous_label: 前 next_label: 次 page_gap: …
<%= will_paginate @articles, :previous_label => ' < 前へ', :next_label => '次へ >', page_gap: '…' %>