Retrospectiva のチケット一覧ページを AutoPagerize 対応にするパッチ


dara日記 では変更群一覧だけでしたが、チケット一覧ページ (/tickets) も一応できました。表示されない Next Page リンクを作成しています。

ただ、このやり方では Ajax とは仲があまり良くないようで、チケットの抽出条件を変えても1ページ目に戻らないなど、微妙に期待に反する動作をすることがありました。どこを弄ればいいんだろう。Ajax を切ってしまえば良さそうですが、そうすると AutoPagerize を使っていない人が不便になってしまうので微妙なところですね。

Index: app/views/tickets/_list.rhtml
===================================================================
--- app/views/tickets/_list.rhtml	(revision 495)
+++ app/views/tickets/_list.rhtml	(working copy)
@@ -1,4 +1,4 @@
-<table class="record-list">
+<table class="record-list autopagerize_page_element">
   <thead>
     <%= rl_navigation(@pages) %>  
     <%= rl_header(@pages) %>
@@ -31,6 +31,10 @@
     </tbody>  
   <% end -%>
 </table>
+<div class="autopagerize_insert_before"></div>
+<% if @pages.current.next -%>
+  <%= link_to("Next Page", {:overwrite_params => {:page => @pages.current.next}}, {:rel => 'next', :style => 'display:none'}) %>
+<% end -%>

<% javascript_content do -%> <% @tickets.each do |ticket| -%>