无尽的滚动,在测试应用程序中工作,而不是真正的应用程序,rails 5

时间:2017-02-02 06:48:23

标签: javascript ruby-on-rails ruby-on-rails-5

我已经搜索了其他问题,但没有找到答案。

我在测试应用程序中使用完全相同的代码,实现无限滚动,但我真正的应用程序中完全相同的代码只是失败,只显示正常的分页链接。我正在关注本教程here以及无限卷轴上的railsast 114,无论我尝试哪一个我得到相同的死结果。

我没有太多使用javascript的经验,并尝试通过Web调试器进行调试,但是它的一大堆代码我不知道该寻找什么。

它在检查员中说“某些节点被隐藏了。”显示测试应用程序的所有102个节点“,作为我的真实应用程序,没有显示这个,但我不明白为什么。 在css中有错误但是在删除css和错误解决后,我仍然无法找到问题。我希望有人能看出是否有一个外部原因,为什么完全相同的代码不起作用!?

视图/用户/ index.html.erb

<div id="users"
<h1>All users</h1>
<%= render @users %>
</div>
<%= will_paginate @users %>

用户部分

<div class="users">
<li>
  <%= user.name %>
</li>
</div>

的application.js

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

查看/用户/ index.js.erb的

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

跟进

我已将“真实”应用的根目录设置为users#index action并删除routes.rb文件中的所有其他路由代码。当我访问根URL时,分页按照正常情况列出所有用户,但仍然无法让无限滚动工作。似乎某些地方可能出现其他问题。

1 个答案:

答案 0 :(得分:0)

我想出来了。我正在关注的教程(railstutorial)使用了bootstrap-will-paginate gem,只需删除这个gem解决了这个问题。

至于为什么会这样做,我还要弄清楚,如果有人愿意发表评论,为什么那会很棒。它将样式应用于链接,所以也许就是这样。