javascript - will_paginate con desplazamiento sin fin | Rails4
ruby-on-rails twitter-bootstrap (1)
Ok, lo tengo trabajando con mi Pregunta actualizada, todos los que tropiezan con este problema, Esta es la solución.
ESTA ES LA SOLUCIÓN
Así que estoy usando will_paginate / Bootstrap Will Paginate con Endless Scrolling .
Para que la Paginación funcione:
1.) En mi controlador actualicé mi acción de índice con
@clips = Clip.order("created_at desc").page(params[:page]).per_page(20)
2.) Editar mi vista de índice:
<%= will_paginate @clips%>
HECHO
La paginación funciona bien.
To Add Endless scrolling
hice los mismos pasos que en mi aplicación Rails 3 anterior.
1.) Edita mis clips.js.coffee
jQuery ->
$(''#clips-masonry'').imagesLoaded ->
$(''#clips-masonry'').masonry itemSelector: ".clips-masonry" # Thats my Masonry
if $(''.pagination'').length # Thats for the Endless Scrolling
$(window).scroll ->
url = $(''.pagination .next_page a'').attr(''href'')
if url && $(window).scrollTop() > $(document).height() - $(window).height() - 50
# What to do at the bottom of the page
$(''.pagination'').text("Fetching more Clips...")
$.getScript(url)
$(window).scroll()
2.) Crea un index.js.erb con:
$boxes = $(''<%= j render(@clips) %>'')
$(''#clips-masonry'').append( $boxes ).imagesLoaded( function(){
$(''#clips-masonry'').masonry( ''reload'');
});
<% if @clips.next_page %>
$(''.pagination'').replaceWith(''<%= j will_paginate(@clips) %>'');
<% else %>
$(''.pagination'').remove();
<% end %>
3.) Se agregó format.js a mi acción índice de controlador
def index
@clips = Clip.order("created_at desc").page(params[:page]).per_page(12)
respond_to do |format|
format.html
format.js
end
end
4.) Mi _clip.html.erb está envuelto con el div
<div class="clip-box clips-masonry" data-no-turbolink>