Rails3 で Ajax (will_paginate 2.3.15 対応)
以前、http://d.hatena.ne.jp/nedate/20101006/1286341476 にて Rails3 で link_to_remote + will_paginate に対応する方法を書きましたが、will_paginate のバージョンが上がったらこの対応では正常に動作しなくなりました orz
というわけで、will_paginate 2.3.15 にて link_to_remote に対応する方法です。
まずは、app/helpers/remote_link_renderer.rb に下記のような内容を記述します。
class RemoteLinkRenderer < WillPaginate::LinkRenderer def page_link(page, text, attributes = {}) params = @options[:params][:url] params[:page] = page @template.link_to_remote( text, { :url => params, :update => @options[:params][:update], :loading => @options[:params][:loading] } ) end end
そして will_paginate を下記のように書いてあげれば動くようになると思います。
<%= will_paginate( @users, :renderer => RemoteLinkRenderer, :params => { :url => {:action => 'show'}, }, :update => 'detail_zone', :loading => "showLoading('small', 'detail_zone')" ) -%>