
updated on 2019-07-26
ruby 2.4.2rails 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: '…' %>
