Skip to content

Instantly share code, notes, and snippets.

View chebyte's full-sized avatar
🤡
smile

mauro chebyte

🤡
smile
View GitHub Profile
class Article < ActiveRecord::Base
# ...
define_index do
#los indexes tienen que ser datos del tipo string
indexes title, :sortable => true
indexes entry
indexes author.name, :as => :author, :sortable => true
#los atributos pueden ser integer, boolean o datetime
WillPaginate::ViewHelpers.pagination_options[:renderer] = 'PaginationListLinkRenderer'
<%= will_paginate(@users, :renderer => PaginationListLinkRenderer) %>
<%= will_paginate(@users, :renderer => PaginationListLinkRenderer) %>
class VbsLinkRenderer < WillPaginate::LinkRenderer
def to_html
links = @options[:page_links] ? windowed_links : []
links.unshift(page_link_or_span(@collection.previous_page, 'prev', @options[:previous_label]))
links.push(page_link_or_span(@collection.next_page, 'next', @options[:next_label]))
html = links.join(@options[:separator])
<ul class="pagination">
<li class="previous"><a href="/users?page=1">« Previous</a></li>
<li><a href="/users?page=1">1</a></li>
<li class="current">2</li>
<li><a href="/users?page=3">3</a></li>
<li class="next"><a href="/users?page=3">Next »</a></li>
</ul>
<ul class="pagination">
<li class="previous"><a href="/users?page=1">« Previous</a></li>
<li><a href="/users?page=1">1</a></li>
<li class="current">2</li>
<li><a href="/users?page=3">3</a></li>
<li class="next"><a href="/users?page=3">Next »</a></li>
</ul>
.pagination {
padding: 3px;
margin: 3px;
}
.pagination a {
padding: 2px 5px 2px 5px;
margin: 2px;
border: 1px solid #aaaadd;
text-decoration: none;
color: #666;
<div class="pagination"><span class="disabled prev_page">« Previous</span> <span class="current">1</span> <a href="/users?page=2" rel="next">2</a> <a href="/users?page=3">3</a> <a href="/users?page=2" class="next_page" rel="next">Next »</a></div>
# En el controlador
@users = User.paginate(:page => params[:page])
# En la vista
<%= will_paginate(@users) %>