Skip to content

Instantly share code, notes, and snippets.

@kevinold
Forked from sjungling/application_helper.rb
Created March 24, 2012 23:12
Show Gist options
  • Save kevinold/2188946 to your computer and use it in GitHub Desktop.
Save kevinold/2188946 to your computer and use it in GitHub Desktop.
Zurb Foundation Pagination styles with WillPaginate 3.x on Rails 3.2.x
#
# Concept from https://gist.github.com/1205828
#
module ApplicationHelper
class FoundationLinkRenderer < ::WillPaginate::ActionView::LinkRenderer
protected
def html_container(html)
tag(:ul, html, container_attributes)
end
def page_number(page)
tag :li, link(page, page, :rel => rel_value(page)), :class => ('current' if page == current_page)
end
def gap
tag :li, link(super, '#'), :class => 'unavailable'
end
def previous_or_next_page(page, text, classname)
tag :li, link(text, page || '#'), :class => [classname[0..3], classname, ('unavailable' unless page)].join(' ')
end
end
def page_navigation_links(pages)
will_paginate(pages, :class => 'pagination', :inner_window => 2, :outer_window => 0, :renderer => FoundationLinkRenderer, :previous_label => '&laquo;'.html_safe, :next_label => '&raquo;'.html_safe)
end
end
<!-- Render pagination links -->
<%= page_navigation_links(@sites) %>
@anthonylebrun
Copy link

For plug and play behavior with will_paginate, just replace def page_navigation_links with the bellow code and use <%= will_paginate(@sites) %> as you normally would.

   def will_paginate(pages)
     super(pages, :class => 'pagination', :inner_window => 2, :outer_window => 0, :renderer => FoundationLinkRenderer, :previous_label => '&laquo;'.html_safe, :next_label => '&raquo;'.html_safe)
   end

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment