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/.