бесконечная прокрутка в рельсах will_paginate не работает - PullRequest
0 голосов
/ 08 мая 2020

Я пытаюсь загрузить все сообщения от всех пользователей с помощью бесконечной прокрутки с помощью will_paginate. Прямо сейчас в конце страницы отображается Please Wait... Но он не загружается.

Это домашний контроллер

class HomeController < ApplicationController
  def index
    if current_user
      @posts = Post.order(created_at: :desc).paginate(:page => params[:page], :per_page => 20)
      respond_to do |format|
        format.html
        format.js
      end
    else
      redirect_to new_user_session_path
    end
  end
end

index. html .erb

  <div class="posts">
    <% @posts.each do |post| %>
      <%= render partial: 'post', locals: { post: post } %>
    <% end %>
    <%= will_paginate @posts %>
  </div>

index. js .erb

$('#posts').append('<%= escape_javascript render(@posts) %>');
$('.pagination').replaceWith('<%= escape_javascript will_paginate(@posts) %>');

application. js

//= require rails-ujs
//= require turbolinks
//= require jquery3
//= require popper
//= require bootstrap

$(document).ready(function() {
  if ($('.pagination').length) {
    $(window).scroll(function() {
      var url = $('.pagination .next_page').attr('href');
      if (url && $(window).scrollTop() > $(document).height() - $(window).height() - 50) {
        $('.pagination').text("Please Wait...");
        return $.getScript(url);
      }
    });
    return $(window).scroll();
  }
});

Я видел все это в этом руководстве: http://geekhmer.github.io/blog/2015/02/12/ruby-on-rails-with-endless-scrolling/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...