jest to rozwiązaniebędzie_popraszać z niekończącym się przewijaniem | Rails4
więc używam will_paginate/Bootstrap Will Paginate Endless przewijania.
Aby uzyskać pracę Paginację:
1.) w moim kontrolera I aktualizowany moje działanie indeksu z
@clips = Clip.order("created_at desc").page(params[:page]).per_page(20)
2.) Edytuj mój widok indeksu:
<%= will_paginate @clips%>
WYKONANE
Paginacja działa dobrze.
To Add Endless scrolling
Wykonałem te same czynności co w poprzedniej aplikacji Rails 3.
1.) Edit mój 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.) Załóż index.js.erb z:
$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.) Dodano format.js do mojej akcji indeksu kontrolera
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.) Moja _clip.html.erb jest opatrywana div
<div class="clip-box clips-masonry" data-no-turbolink>
W czym problem? kod partycji nieskończonego przewijania będzie działał (choć nie jest przyjazny dla turbolinków) - jeśli podasz swój błąd, możesz uzyskać wgląd. – trh
Problem polega na tym, że nie działa :), nie ma błędu, nieskończoność po prostu nie działa :(Myślę, że ma to związek z format.js, który muszę dołączyć do kontrolera, ale w Railsach 4 kontrolery Zmieniono i nie mogę uruchomić go do pracy. –
Działa to dobrze dla mnie, nadal używam bloku respond_to z format.js.Jak jest wywołanie zdarzenia w dzienniku, html? coś jak 'klipy? strona = 2 'with' ClipsController # index as HTML'? – trh