views:

110

answers:

1
<%= will_paginate(@posts) %> # will generate the links like this '<a href="/posts?page=n">a link</a>'
# What should I do if I want to change the herf base on '/contents', etc. '<a href="/contents?page=n">a link</a> ?
# It seems that there is no options for this , help!
+1  A: 

You will probably have to write your own LinkRenderer. See this blog post, and the code for LinkRenderer.

Briefly:

in environment.rb you need something like this:

WillPaginate::ViewHelpers.pagination_options[:renderer] = 'MyLinkRenderer'

in application_helper.rb

class MyLinkRenderer < WillPaginate::LinkRenderer
  def page_link(page, text, attributes = {})
    url = url_for(page) # you should find a better way to do this...
    url.sub!('posts','contents')
    @template.link_to text, url, attributes
  end
end
ngoozeff
Thanks, this helped!
Croplio