(apply-generic op . args)

教育者, 将軍, 栄養士, 心理学者, 親はプログラムする. 軍隊, 学生, 一部の社会はプログラムされる. - 計算機プログラムの構造と解釈 序文

Will_paginateを使ってみる。

 いつもの如くメモ。
クラシックを使おうかと思ったけど、折角だからwillを。

 まずはWill_Paginateプラグインのインストールから。
Railsレシピブックではsvnによるインストールが説明されているが、gemによるインストールになった模様。
#sudo gem sources -a http://gems.github.com/
#sudo gem install mislav-will_paginate


 ちなみに、最初にClassic_Paginateをインストールしようとしたら
#ruby script/plugin install svn://errtheblog.com/svn/plugins/classic_pagination
svn: ホスト 'errtheblog.com' に接続できません: 接続を拒否されました
もう提供していないらしい。


んで、以下のファイルに追記します。
#vi config/environment.rb
config.gem 'mislav-will_paginate', :lib => 'will_paginate', :version => '~> 2.3'

あ、
Rails::Initializer.run do |config|
end
の間に書いてくださいね。


コントローラー
@slips = RssField.paginate(:page => params[:page], :order => "date DESC", :per_page => 30)
Findと同じように使えるようです。


ビュー
<%= will_paginate @slips, :prev_label=>'«前', :next_label=>'次»' %>
これ書くだけでOKです。
後は
<% @slips.each do |slip| %>
 


  <%=h slip.title %>

  <%=h slip.date %>

  <%=h slip.site %>

 


<% end %>
こんな感じでeachでまわしてやるとコントローラーでdateで並び替えた30件が吐き出されます。


今回もすっごい殴り書きなので、参考サイトを下記しときます。
http://d.hatena.ne.jp/zariganitosh/20080125/1201226022
http://d.hatena.ne.jp/idesaku/20071210/1197260363#20071210
http://d.hatena.ne.jp/shunsuk/20090325/1237978258