-
-
Save isaacbowen/1182136 to your computer and use it in GitHub Desktop.
# config/initializers/will_paginate.rb | |
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 | |
end | |
end | |
end |
@purcell: Good call - thanks!
I copied/pasted as is and I'm getting the following with will_paginate 3.0.0 and rails 3.0.9:
NameError: uninitialized constant WillPaginate::ActionView::LinkRenderer
~/Sites/Dirot/config/initializers/will_paginate.rb:8:in `<module:ActionView>'
~/Sites/Dirot/config/initializers/will_paginate.rb:2:in `<module:WillPaginate>'
~/Sites/Dirot/config/initializers/will_paginate.rb:1:in `<top (required)>'
~/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.9/lib/rails/engine.rb:201:in `block (2 levels) in <class:Engine>'
~/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.9/lib/rails/engine.rb:200:in `each'
Is there a specific version requirement?
I had to shuffle things around a bit, and ended up with the following inside my ApplicationHelper
class: https://gist.github.com/1205828
The key is that my app was already using the page_navigation_links
function above to wrap will_paginate
, so that's the function I'm using in views. The gist I posted does nothing to override will_paginate
's default options, and IIRC I didn't have any luck trying to do so using the original gist.
This is delicious. Thanks!
This does not work with will_paginate (3.0.4) and sinatra.
Checkout this gist. This works with Bootstrap 3 and Will_paginate 3.0.4 and Sinatra https://gist.github.com/expertmind/6410029
Also, for when there are very many pages: