[PATCH conductor] Updates filter_table to display pagination links whenever paginated.
Matt Wagner
matt.wagner at redhat.com
Tue Sep 11 23:18:35 UTC 2012
Apparently in newer versions of ActiveRecord with will_paginate,
calling .paginate will sometimes return an ActiveRecord::Relation
instead of the WillPaginate::Collection we're used to. That broke
our pagination links. See this link for extra info:
http://rubydoc.info/gems/will_paginate/3.0.2/file/README.md
Lacking an apparent clear way to check if a set is paginated
or not, we changed the conditional here to see if the set
responds to the total_pages method that will_paginate adds to
the set.
---
src/app/views/layouts/_filter_table.html.haml | 9 ++++++++-
1 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/src/app/views/layouts/_filter_table.html.haml b/src/app/views/layouts/_filter_table.html.haml
index 453266c..bb93950 100644
--- a/src/app/views/layouts/_filter_table.html.haml
+++ b/src/app/views/layouts/_filter_table.html.haml
@@ -26,5 +26,12 @@
%fieldset.options
= yield form_footer
-- if rows.is_a?(WillPaginate::Collection)
+-# With the latest ActiveRecord + will_paginate versions, we
+-# sometimes get back an ActiveRecord::Relation after pagination,
+-# so we can't just check if it's a WillPaginate::Collection.
+-# http://rubydoc.info/gems/will_paginate/3.0.2/file/README.md
+-# Checking for the methods will_paginate adds is the best way
+-# we have been able to find to check if we're viewing a paginated
+-# collection or not.
+- if rows.respond_to?(:total_pages)
= render_pagination(rows)
--
1.7.7.6
More information about the aeolus-devel
mailing list