will_paginate

2010年9月13日

ホームページ

github

まだタグでv3.0.0正式対応のものがないようなので、preを使う

インストール

Gemfileに

gem 'will_paginate', '~>3.0.pre', :require => 'will_paginate'

を追加して

bundle install

実行

使い方

一覧表示アクションの中で、一覧取得の処理を変更

# GET /articles
# GET /articles.xml
def index
  # allではなく、paginateに変更し、カレントページを設定するパラメータを渡す
  @articles = Article.paginate :page => params[:page]
  respond_to do |format|
    format.html # index.html.erb
    format.xml  { render :xml => @articles }
  end
end

1ページに表示されるデータの件数を設定

Articleモデルに

self.per_page =10

を追加

ページ切り替えのリンクをビューに追加

articles/index.html.erbを開き

<%= link_to 'New Article', new_article_path %>

の行の上あたりに

<%= will_paginate @articles %>

を追加