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:
- Agregue
gem ''kaminari''
a suGemFile
. Ejecutarbundle install
y reiniciar el servidor de rieles - Compruebe los temas de Kaminary : en su caso, necesita el tema
bootstrap3
- 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 %>