JavaFree.org | RubyOnBr.org

will_paginate, o paginador oficial do Rails 2.0

Acompanhar will_paginate, o paginador oficial do Rails 2.0 24 posts, 14 participantes

Avatar The_Linux_Lich 98 posts

É galera, nas últimas versões do Rails Edge, o paginador clássico, lento e tranqueira foi substituído(os saudosistas podem baixá-lo como um plugin)
pelo excelente will_paginate

Instale o plugin:

./script/plugin install \ svn://errtheblog.com/svn/plugins/will_paginate

No controller:

Além de suportar as mesmas mágicas do finder normal, a lógica agora está no lugar certo e você não precisa manter uma variável @projects_page.

Na view:

É só isso. O paginador assume um número de 30 registros por página por padrão, personalizável também através de mais um atributo:

Ou no modelo:

Outra maneira:

E você pode estilizá-lo tranquilamente:

No seu CSS:

Bom, é isso ^^

 
Avatar João Victor 94 posts

Show! Quando sai essa versão!? Ou ja saiu!?

 
Avatar The_Linux_Lich 98 posts

O Rails 2.0 só Deus sabe quando, mas você pode utilizar o paginador como um plugin

 
Avatar ArthurGeek 183 posts

Pelo que eu saiba, o will_paginate sempre será um plugin, e não será incluso na Rails 2.0 não.

O que acontecerá, é que o Rails não terá um paginator por default, e muitos, já estão escolhendo o will_paginate como substituto. Mas ele sempre será um plugin.

 
440002948_b8dc8436b4 Marcelo Júnior 811 posts

O will_paginate já tem implementado algo com ajax? Por exemplo: Eu tenho uma tela toda estilizada por div’s, e a lista é carregada dentro de uma div. O will_paginate já tem uma opção para que quando eu mudar de página, abrir a pagina seguinte dentro de uma div?

Da forma atual, ele abre a pagina seguinte em uma nova pagina, ou seja, ele carrega a pagina inteira. Eu já implementei isto no sistema de paginação default do rails, mas gostei do will_paginate, e gostaria de saber se ele já tem essa funcionalidade para não fazer o que já está feito.

 
Avatar The_Linux_Lich 98 posts

pior que não, Marcelo…você teria que reimplementar, como no paginador antigo

 
Avatar The_Linux_Lich 98 posts

eu também vou ter que fazer isso ^^

 
Avatar Shairon Toledo 1428 posts

Muito bom o will_paginate, alguém encontrou onde define-se o tamanho da janela de páginas?

 
Avatar Arthur Leon 1 post

Muito bom, acabei de usar. Simples, rápido e limpo. Só um detalhe, no código do view, na última linha está faltando um sinal de ‘=’. Para aparecer o hyperlink tem que ficar assim:

 
Avatar The_Linux_Lich 98 posts

vero! Corrigindo…

 
Avatar Eduardo Fiorezi 45 posts

Ae Galera, também uso o will paginator.

Excelente…

Uma ótima referencia é o http://railscasts.com/episodes/51 .

 
138834 Leonardo Faria 59 posts

alguém sabe como traduzir o “next” e “previous”, sem ter que mudar no source do plugin?

 
138834 Leonardo Faria 59 posts

Ja descobri :)

Agora, alguem tem noção de como fazer: Mostrando 11 até 20 de 198 resultados?

 
Avatar Shairon Toledo 1428 posts

Muito bom o will_paginate, alguém encontrou onde define-se o tamanho da janela de páginas?

Leonardo, eu “Faria”

o options um sym com apontamento. Vc deve estar de saco-cheio com essa piadinha :)

 
138834 Leonardo Faria 59 posts

Shairon
boei no que você falou

(mas a piadinha é ruim mesmo. e todo mdo faz :()

 
Avatar Rodrigo Rosauro 310 posts

Acho que o que o Shairon disse é que no seu exemplo ta assim e deveria ser assim:

Options é um símbolo apontando para a hash. ;)

 
Avatar Shairon Toledo 1428 posts

O will_paginate já tem implementado algo com ajax?

Comecei a fazer dai lembrei de pesquisar hehe. Achei aqui

adicionei o suporte a :update que não tinha
então os dois métodos o will_paginate e o page_link_or_span no arquivo view_helpers.rb do plugin
ficam assim:

Agora dá pra usar a paradinha com ajax assim

 
Avatar Arthur Martins 213 posts

Como eu faço para instalar esse plugin em ambiente windows?

Tentei dessa forma:

ruby script/plugin install svn://errtheblog.com/svn/plugins/wi
ll_paginate

Mas o plugin não é instalado…

Alguém pode me dar um help?

 
Avatar Shairon Toledo 1428 posts

O svn tá instalado?

 
Avatar Arthur Martins 213 posts

Não esta não!!!

Preciso instalar ou há outro meio para instalar o plugin?

 
Ds054 Grinvon 130 posts

Eu fiz um paginator customizado em Ajax, ficou bom, depois eu posto aqui como eu fiz.

 
Avatar Philipe 136 posts

Só 1 pequena correção ae no código do Shairon:

Faltou o “options[:update] || ’’”, ae o Proxima e Anterior n estavam funcionando pq n estava sendo especificado qual ID deveria ser atualizado!

Muito Obrigado Shairon, ficou r0x!

Edit: Fiz uma modificação também, para ter a opção :spinner tb, para mostrar a div com ID especificado para demonstrar para os usuario que a pagina está carregando!

Segue o codigo com todas as modificações:

 
Avatar duard 36 posts

Quem conseguiu fazer este plugin funcionar com ajax, poderia fazer o favor de colar o código do view_helpers.rb no http://pastie.caboo.se ?

Mais fácil que copiar daqui, sem contar que o daqui, não está funcionando, e não consegui arrumar ainda.

Exemplo de um view_helpers.rb que funciona : http://pastie.caboo.se/101715

Valeu !

 
Avatar Kleber Shimabuku 1 post

@Arthur,

gem install will_paginate

@duard,

Estou começando agora em Rails.

Como faria para usar esse Modulo que vc postou no link?

Obrigado.