アフィリエイト広告を利用しています

広告

posted by fanblog

Rails3系で will_paginate を使う

Rails3系で will_paginate を使ってみたのでメモ。

Gemfile に以下を追加する。
% gem 'will_paginate'


追加したら install する。
% bundle install


インストールされたことを確認。
% bundle show | grep will
* will_paginate (2.3.15)


config/application.rb に以下を追加。
require 'will_paginate'


require しないと以下のエラーが出る。
undefined method `paginate'


これで準備ができたので controller に実装してみる。
@customers = Customer.paginate(:page => params[:page], :per_page => 3)


サーバを再起動してブラウザでアクセスしたら以下のエラーが出た。
can't convert nil into Array


will_paginate の不具合で version 3.0 なら fix しているらしい。

Gemfile の will_paginate にバージョン上方を追加する。
gem 'will_paginate','3.0.pre'


追加したら再度 install する。
% bundle install


3.0 が入ったことを確認する。
% bundle show | grep will
* will_paginate (3.0.pre)


ここからは、Rails2系と同じ。
controller で以下の様にして使う。
@customers = Customer.paginate(:page => params[:page], :order => 'created_at desc', :per_page => 3)


view に追加 以下を見せたい場所に追加するだけ。
<%= will_paginate @customers %>
   
×

この広告は30日以上新しい記事の更新がないブログに表示されております。