iyuichiの私的開発ログ

渋谷で働くWebエンジニアのログ. Java, Android, iOS, Docker, GCP, AWS, ゲーム開発

ページングをしたい 〜 will_paginate

ページングのプラグインとしては、これがメジャーなようなので試してみる。
ここを見ながらやりました。

railsのバージョンは2.3.5を使用しているので、
“config/environment.rb” に以下のように追記します。

Rails::Initializer.run do |config|
  config.gem 'will_paginate', :version => '~> 2.3.11', :source => 'http://gemcutter.org'
end

以下のコマンドを叩きます。

$ rake gems:install

インストールできたようです。
確認は、

$ gem list
actionmailer (2.3.5)
actionpack (2.3.5)
activerecord (2.3.5)
activeresource (2.3.5)
activesupport (2.3.5)
acts_as_paranoid (0.3.1)
rack (1.0.1)
rails (2.3.5)
rake (0.8.7)
rubygems-update (1.3.5)
vim-ruby (2007.05.07)
will_paginate (2.3.12)

こんな感じで、"will_paginate" がインストールされていることがわかります。

さて、では使ってみます。
コントローラで一覧の検索をallから以下のように変更します。

    @people = Person.paginate(
      :page => params[:page],
      :order => "id desc",
      :per_page => 5
    )

上記では、idの降順で、1頁に5件ずつ表示するという設定になります。

ビューに移ります。
以下のようなタグを埋め込みます

<%= will_paginate(@people) %>

ページングできました。

次は、ajax 周りを試してみたいと思っている。