Ajax pagination links: Create pagination links with link_to_remote

Published on Author Akhil Bansal2 Comments

Here is a method by mixonix to create pagination links by link_to_remote. Copy this code in your helpers/application_helper.rb

[source:ruby] def ajax_pagination_links(paginator, options={})
options.merge!(ActionView::Helpers::PaginationHelper::DEFAULT_OPTIONS) {|key, old, new| old}
window_pages = paginator.current.window(options[:window_size]).pages
return if window_pages.length <= 1 unless options[:link_to_current_page] first, last = paginator.first, paginator.last returning html = '' do if options[:always_show_anchors] and not window_pages[0].first? html << link_to_remote(first.number, :update => options[:update], :url => { options[:name] => first }.update(options[:params] ))
html << ' ... ' if window_pages[0].number - first.number > 1
html << ' ' end window_pages.each do |page| if paginator.current == page && !options[:link_to_current_page] html << page.number.to_s else html << link_to_remote(page.number, :update => options[:update], :url => { options[:name] => page }.update(options[:params] ))
end
html << ' ' end if options[:always_show_anchors] && !window_pages.last.last? html << ' ... ' if last.number - window_pages[-1].number > 1
html << link_to_remote(paginator.last.number, :update => options[:update], :url => { options[:name] => last }.update( options[:params]))
end
end
end [/source]and use following code for creating links

[source:ruby] <%= ajax_pagination_links @pages, {:params => {:search_query => @params[:search_query]} } %> [/source]

2 Responses to Ajax pagination links: Create pagination links with link_to_remote

Leave a Reply

Your email address will not be published. Required fields are marked *