light log

学んだこととか

Railsでwill_paginateとwill_paginate-bootstrapを使った

今日は半日くらいSCSSを触ってた。floatの動きがいまいち感覚的に掴めない。

スタイルシートについては特に知見得てないので、今日は短いけどpaginationについて書く。will_paginateとwill_paginate-bootstrapで簡単しゃれおつページネーション。

環境

$ bin/bundle exec ruby -v
ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-darwin14]
$ bin/rails -v
Rails 4.2.1
$ bin/bundle show | grep -e "paginate" -e "bootstrap"
  * bootstrap-sass (3.3.4.1)
  * will_paginate (3.0.7)
  * will_paginate-bootstrap (1.0.1)

つかう

大体こういうのは簡単そうに見せかけて結局何かしらハマることが多いんだけど、今回は本当に簡単だった。

Rails Tutorialで一回やってるのも大きい。一箇所だけTutorial時点と使い方が変わっている部分があって一瞬あれってなったけど、公式のReadmeにちゃんと使い方書いてあったのですぐ解決できた。

ということで以下使い方。bootstrapは使える状態になってるの前提。

まずGemファイル。

gem 'bootstrap-sass'
gem 'will_paginate'
gem 'will_paginate-bootstrap'

バージョン指定してもいい(した方がいい?)

次にコントローラ。

@posts = Post.order(created_at: :desc).paginate(page: params[:page], per_page: 20)

order(...)の部分は適宜変える。per_pageの値もお好み。

次にビュー。ページネーションのUIを表示させたい場所に以下を挿入する。

<%= will_paginate @posts, renderer: BootstrapPagination::Rails %>

これのrenderer: ...の部分がRails Tutorialとは違って一瞬戸惑った箇所。

以上。簡単でびっくり。

まとめ

先人に頭が上がらない。

続き書いた

yamacent.hatenablog.com

過去記事

yamacent.hatenablog.com

yamacent.hatenablog.com

yamacent.hatenablog.com