Javascript 在Rails 4中无休止的滚动有问题吗
嘿,我正在尝试向rails应用程序添加无休止的滚动…我遵循了ryan bates的教程,但在加载下一页内容时仍然遇到一些问题 因此,您可以了解我使用的结构…我有一个名为Static Pages的控制器,它主要包含静态页面和一些其他非静态页面…其中一个页面称为“feed”,因此在Static_Pages视图中,我有一个feed.html.erbJavascript 在Rails 4中无休止的滚动有问题吗,javascript,jquery,ruby-on-rails,ruby,pagination,Javascript,Jquery,Ruby On Rails,Ruby,Pagination,嘿,我正在尝试向rails应用程序添加无休止的滚动…我遵循了ryan bates的教程,但在加载下一页内容时仍然遇到一些问题 因此,您可以了解我使用的结构…我有一个名为Static Pages的控制器,它主要包含静态页面和一些其他非静态页面…其中一个页面称为“feed”,因此在Static_Pages视图中,我有一个feed.html.erb <div class="row"> <div class="span8 offset2 settings update">
<div class="row">
<div class="span8 offset2 settings update">
<div id="feeds" data-no-turbolink>
<%= render partial: "shared/feed_item", collection: @feed_items %>
</div>
<%= will_paginate @feed_items %>
</div>
</div>
这是一个显示用户更新的提要页面
这是控制器(静态页面)
下面是提要html视图
<div class="row">
<div class="span8 offset2 settings update">
<div id="feeds">
<%= render partial: "shared/feed_item", collection: @feed_items %>
</div>
<%= will_paginate @feed_items %>
</div>
</div>
最后是我的feed.js.erb(在静态页面视图文件夹中)
feed.html.erb
<div class="row">
<div class="span8 offset2 settings update">
<div id="feeds" data-no-turbolink>
<%= render partial: "shared/feed_item", collection: @feed_items %>
</div>
<%= will_paginate @feed_items %>
</div>
</div>
feed.js.erb
$('#feeds').append("<%= j render partial: 'shared/feed_item', collection: @feed_items %>");
<% if @feed_items.next_page %>
$('.pagination').replaceWith('<%= j will_paginate(@feed_items) %>');
<% else %>
$('.pagination').remove();
<% end %>
$('#提要')。追加(“”);
$('.pagination')。替换为('';
$('.pagination').remove();
我要检查的第一件事是是否有任何javascript错误(firebug、chrome inspector)。在chrome inspector中,您还可以记录xhttp请求,以便查看实际请求是否失败或成功。80%的可能性给你一个很好的线索。此外,也许这个线程可能会有帮助:是的,js加载的页面很好,直到我到达底部,我得到一个**未能加载资源:服务器响应状态为500(内部服务器错误)**errorOK,所以我通过替换代码行使ajax正常工作,但现在它不会呈现“获取更多产品”文本,而是呈现分页,然后开始加载新的feedshm,如果您需要进一步的帮助,您应该更新问题中的代码,并更具体地说明您已经知道哪些内容不起作用。您可以用来调试应用程序的常用工具应该包括:javascript控制台、rails服务器日志、使用调试器(在js和ruby代码中)的可疑工具。如果您确保熟悉这些工具,您将在将来节省大量时间。不管怎样,你现在修改的代码看起来会很有趣。。
jQuery ->
if $('.pagination').length
$(window).scroll ->
url = $('.pagination .next_page a').attr('href')
if url && $(window).scrollTop() > $(document).height() - $(window).height() - 5
$('.pagination').text("Hello world!")
$.getScript(url)
$(window).scroll()
<div class="row">
<div class="span8 offset2 settings update">
<div id="feeds" data-no-turbolink>
<%= render partial: "shared/feed_item", collection: @feed_items %>
</div>
<%= will_paginate @feed_items %>
</div>
</div>
$('#feeds').append("<%= j render partial: 'shared/feed_item', collection: @feed_items %>");
<% if @feed_items.next_page %>
$('.pagination').replaceWith('<%= j will_paginate(@feed_items) %>');
<% else %>
$('.pagination').remove();
<% end %>