-
-
Save henrik/1214011 to your computer and use it in GitHub Desktop.
Extends will_paginate to play well with Twitter's Bootstrap (http://twitter.github.com/bootstrap/). Suggested location: config/initializers/will_paginate.rb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# https://gist.github.com/1214011 | |
module WillPaginate | |
module ActionView | |
def will_paginate(collection = nil, options = {}) | |
options[:renderer] ||= BootstrapLinkRenderer | |
super.try :html_safe | |
end | |
class BootstrapLinkRenderer < 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 previous_or_next_page(page, text, classname) | |
tag :li, link(text, page || '#'), :class => [classname[0..3], classname, ('disabled' unless page)].join(' ') | |
end | |
def gap | |
tag :li, link(super, '#'), :class => 'disabled' | |
end | |
end | |
end | |
end |
This gist worked a treat for me, although it did also need the two require
modules pointed out by @grosser. Thanks you.
Just use: tag :ul, html, container_attributes
instead of tag :div, tag(:ul, html), container_attributes
and it will work just fine with Bootstrap 3. They removed the div (http://getbootstrap.com/components/#pagination).
Thank you @grosser
thanks @grosser but why I needed to add it while it was working on development and I was getting error only on production.
don't remember what was going on here 🤷♂️
It was better for me to add this gem https://github.com/delef/will_paginate-bootstrap4 and solves the issue
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
this is amazing. thanks.
For reference, I had to add a require line, but only the
action_view
require mentioned by @grosser was necessary.