From: Costa Nicolaou Date: 2010-09-21T16:32:18+09:00 Subject: Changing protocol or urls in will_paginate Hey, I've been looking to override the default protocol provided with will_paginate. Is there a chance anyone knows how to do that? I tried doing so using this helper but it never works since url_for is accepting a string (page) ------------------------------- class PaginationListLinkRenderer < WillPaginate::LinkRenderer def to_html links = @options[:page_links] ? windowed_links : [] links.unshift(page_link_or_span(@collection.previous_page, 'previous', @options[:previous_label])) links.push(page_link_or_span(@collection.next_page, 'next', @options[:next_label])) html = links.join(@options[:separator]) @options[:container] ? @template.content_tag(:div, html, html_attributes) : html end protected def windowed_links visible_page_numbers.map { |n| page_link_or_span(n, (n == current_page ? 'current' : nil)) } end def page_link_or_span(page, span_class, text = nil) text ||= page.to_s if page && page != current_page page_link(page, text, :class => span_class) else page_span(page, text, :class => span_class) end end def page_link(page, text, attributes = {}) @template.content_tag(:span, @template.link_to(text, url_for(page)), attributes) end def page_span(page, text, attributes = {}) @template.content_tag(:span, text, attributes) end end -- Posted via http://www.ruby-forum.com/.