-
-
Save purcell/1205828 to your computer and use it in GitHub Desktop.
# 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 => '←'.html_safe, :next_label => '→'.html_safe) | |
end |
See the page_navigation_links
helper function above for how to generate the full bootstrap-style html.
-Steve
Thanks for the quick answer Steve!
I have replaced "will_paginate @feeditems" in my view with
<%= page_navigation_links @feed_items %>
I get an error of: NotImplementedError in Pages#home
Forgive my ignorance. Just now making my first rails app. Thanks for any help!
Yep, see @thatfunkymunki's comments and modified version above. I should really go ahead and update this gist to incorporate his changes.
Thanks much for your help!
<%= page_navigation_links @users %> worked for me!
@fellytone84 - Glad it worked for you.
I've updated this gist to directly reflect @thatfunkymunki's fixes here...
@purcell I've just added classname option to page_navigation_links, now it can support Bootstrap 2.0's flexible alignment option: .pagination-center, .pagination-right, default option is pagination.
Thanks, works great!
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.
@bertomartin There's nothing stopping you from changing the definition of page_navigation_links
so that it allows you to merge in extra options.
@purcell, I tried doing that. Had a problem though, but I'll look into it again (very late last night). Thanks for this script.
Very nice. Thanks!
worked out well. thanks!
Worked like a charm, thanks!
this was great. i didn't want to use a gem, and this gist just nails it. thanks a lot!
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.
This worked beautifully thanks!
Thank you! It works perfect! 😄
Do I have to call this helper in a different way? Or should it just work? Currently when I put this in my application helper file and restart my server I do not get the pagination wrapped in the ul and li elements that bootstrap likes.
Thanks!