Module ActionView::Helpers::PaginationHelper
In: vendor/rails/actionpack/lib/action_view/helpers/pagination_helper.rb

Provides methods for linking to ActionController::Pagination objects.

You can also build your links manually, like in this example:

<%= link_to "Previous page", { :page => paginator.current.previous } if paginator.current.previous %>

<%= link_to "Next page", { :page => paginator.current.next } if paginator.current.next =%>

Methods

Constants

DEFAULT_OPTIONS = { :name => :page, :window_size => 2, :always_show_anchors => true, :link_to_current_page => false, :params => {}

Public Instance methods

Creates a basic HTML link bar for the given paginator.

options are:

:name:the routing name for this paginator (defaults to page)
:window_size:the number of pages to show around the current page (defaults to +2+)
:always_show_anchors:whether or not the first and last pages should always be shown (defaults to true)
:link_to_current_page:whether or not the current page should be linked to (defaults to false)
:params:any additional routing parameters for page URLs

[Source]

    # File vendor/rails/actionpack/lib/action_view/helpers/pagination_helper.rb, line 36
36:       def pagination_links(paginator, options={})
37:         options.merge!(DEFAULT_OPTIONS) {|key, old, new| old}
38:         
39:         window_pages = paginator.current.window(options[:window_size]).pages
40: 
41:         return if window_pages.length <= 1 unless
42:           options[:link_to_current_page]
43:         
44:         first, last = paginator.first, paginator.last
45:         
46:         returning html = '' do
47:           if options[:always_show_anchors] and not window_pages[0].first?
48:             html << link_to(first.number, { options[:name] => first }.update( options[:params] ))
49:             html << ' ... ' if window_pages[0].number - first.number > 1
50:             html << ' '
51:           end
52:           
53:           window_pages.each do |page|
54:             if paginator.current == page && !options[:link_to_current_page]
55:               html << page.number.to_s
56:             else
57:               html << link_to(page.number, { options[:name] => page }.update( options[:params] ))
58:             end
59:             html << ' '
60:           end
61:           
62:           if options[:always_show_anchors] && !window_pages.last.last?
63:             html << ' ... ' if last.number - window_pages[-1].number > 1
64:             html << link_to(paginator.last.number, { options[:name] => last }.update( options[:params]))
65:           end
66:         end
67:       end

[Validate]