will_paginate style rails custom bootstrap ruby-on-rails twitter-bootstrap pagination will-paginate kaminari

ruby-on-rails - rails - will_paginate style



PaginaciĆ³n de Rails 4, will_paginate vs. Kaminari usando bootstrap3 (3)

Entiendo que Kaminari funciona bien con Rails3 leyendo este artículo: Paginación de Rails 3, will_paginate vs. Kaminari , pero ¿qué tal con Rails4? Además, al estilizarlos con Bootstrap3, ¿qué gema es la solución más fácil?


En mi experiencia, hay muy poca diferencia entre Kaminari y Will Paginate , es principalmente una elección personal en cuanto a lo que usas (como Paperclip / Carrierwave o Mac / Windows )

En términos de compatibilidad, ambas gemas trabajan de forma nativa con Rails 4

Oreja

En referencia a Bootstrap, creo que estás haciendo la pregunta incorrecta

Bootstrap es un marco CSS , que no tiene relación con la funcionalidad backend de su aplicación

La conclusión es que tendrá que llamar a los métodos de paginación desde su controlador, por lo que las diferencias de los sistemas solo serán estéticas. Si usas Bootstrap para estilizarlos, tendrás que hacer lo mismo con cualquiera de las dos gemas.

Así que la elección es tuya!


Es bastante fácil implementar la paginación bootstrap de twitter con Kaminari . Simplemente siga los pasos a continuación:

  1. Agregue gem ''kaminari'' a su GemFile . Ejecutar bundle install y reiniciar el servidor de rieles
  2. Compruebe los temas de Kaminary : en su caso, necesita el tema bootstrap3
  3. Ejecutar rails g kaminari:views bootstrap3

Eso es.


Kaminari me funciona bien con Rails 4.1.5

Puede hacerlo funcionar con Bootstrap 3 cambiando una línea de código en el tema de Bootstrap generado para Kaminari

En Vistas / Kaminari / _paginator.html.erb

Cambie esta línea: <div class="pagination"><ul>

A esto: <ul class="pagination pagination-lg">

..y deshacerse de la div; solo usa la ul arriba - funciona bien para mi.

Aquí está el código para todo el parcial:

<%= paginator.render do %> <ul class="pagination pagination-lg"> <%= first_page_tag unless current_page.first? %> <%= prev_page_tag unless current_page.first? %> <% each_page do |page| %> <% if page.left_outer? || page.right_outer? || page.inside_window? %> <%= page_tag page %> <% elsif !page.was_truncated? %> <%= gap_tag %> <% end %> <% end %> <%= next_page_tag unless current_page.last? %> <%= last_page_tag unless current_page.last? %> </ul> <% end %>