问题
<%= 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 href base on /contents
, etc. <a href="/contents?page=n">a link</a>
?
It seems that there is no options for this , help!
回答1:
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
来源:https://stackoverflow.com/questions/3430975/how-to-customize-the-will-paginate-link-base