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 %>
これで終了。