Skip to content

Instantly share code, notes, and snippets.

@purcell
Created September 9, 2011 09:23
Show Gist options
  • Save purcell/1205828 to your computer and use it in GitHub Desktop.
Save purcell/1205828 to your computer and use it in GitHub Desktop.
Make will_paginate generate HTML that bootstrap.less will render nicely
# Based on https://gist.github.com/1182136
class BootstrapLinkRenderer < ::WillPaginate::ActionView::LinkRenderer
protected
def html_container(html)
tag :div, tag(:ul, html), container_attributes
end
def page_number(page)
tag :li, link(page, page, :rel => rel_value(page)), :class => ('active' if page == current_page)
end
def gap
tag :li, link(super, '#'), :class => 'disabled'
end
def previous_or_next_page(page, text, classname)
tag :li, link(text, page || '#'), :class => [classname[0..3], classname, ('disabled' unless page)].join(' ')
end
end
def page_navigation_links(pages)
will_paginate(pages, :class => 'pagination', :inner_window => 2, :outer_window => 0, :renderer => BootstrapLinkRenderer, :previous_label => '&larr;'.html_safe, :next_label => '&rarr;'.html_safe)
end
@bertomartin
Copy link

how do you specify that a link is remote, and how about specifying the params hash? There's no way to pass in those parameters to "page_navigation_links". For example, I need to pass in=> :remote => true.

@purcell
Copy link
Author

purcell commented Mar 6, 2012

@bertomartin There's nothing stopping you from changing the definition of page_navigation_links so that it allows you to merge in extra options.

@bertomartin
Copy link

@purcell, I tried doing that. Had a problem though, but I'll look into it again (very late last night). Thanks for this script.

@tbhockey
Copy link

tbhockey commented Apr 6, 2012

Very nice. Thanks!

@sur
Copy link

sur commented Aug 1, 2012

worked out well. thanks!

@leonmitchelli
Copy link

Worked like a charm, thanks!

@shotty01
Copy link

shotty01 commented Oct 2, 2012

this was great. i didn't want to use a gem, and this gist just nails it. thanks a lot!

@scaryguy
Copy link

It worked like a charm! Thank you!

But one thing, all this is not about LESS or SASS. I'm working with SASS and no problem at all. Maybe you can consider to change gist's title.

@mahajanabhij
Copy link

This worked beautifully thanks!

@lucashour
Copy link

Thank you! It works perfect! 😄

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