will_paginate を導入

日本語のサイトを見て、そのとおりにやったけどうまくいかなかった。
undefined method `paginate'
なんてエラーが発生。
そこで、本家のGitHub - mislav/will_paginate: Pagination library for Rails, Sinatra, Merb, DataMapper, and moreを参照してwill_paginateを導入した。

まずはインストール。

  gem install mislav-will_paginate --source http://gems.github.com/

"config/environment.rb"の最後に、以下を追加する。

gem 'mislav-will_paginate', '~> 2.2'
require 'will_paginate'

インストールはこれでOK。

次はコントローラの修正。

    #@items = VideoItem.find(:all)
    @items = VideoItem.paginate(:all,:per_page => 10, :page => params[:page])

ポイントは
(1) "find"だったところを"paginate"に変更。
(2) パラメータに1ページあたりの表示件数である :per_page を追加。
(3) パラメータに、表示対象のページ番号を示す :page を追加。

params[:page]は、以降でViewに追加する項目(タグ)で自動的に追加される。

次にビューの修正。
以下をページのナビゲータを表示したい箇所に追加する。

<%= will_paginate @items %>

これで終了。