您好我正在尝试使用分页宝石在rails中创建无限滚动。没有其他特定的宝石我正在使用this.it工作正常加载内容但我加载单个页面意味着下一页2次而不是一次。甚至对服务器的请求也仅来自页面一次响应也只有一次,但内容来了2次。
我试着看看它如何将内容返回2次,却无法找到它是如何工作的。有人可以帮助我吗?
JS在滚动页面时发送第2页请求
$(window).on 'scroll', ->
more_posts_url = $('.pagination .next_page').attr('href')
if more_posts_url && $(window).scrollTop() > $(document).height() - $(window).height() - 60
$('.pagination').html('<p>Loading......</p>')
$.ajax more_posts_url,
type: 'get'
dataType: 'script'
return
收到请求的控制器
def show
@follow_unfollow = FollowerDetail.new
@songs = Song.user_filter(@user.id).paginate(:page => params[:page], :per_page => 2)
respond_to do |format|
format.html { }
format.js { }
end
端
来自此控制器的响应JS
$('#my_songs').append("<%= j render partial: 'songshow' , :collection => @songs %>");
<% if @songs.next_page %>
$('#infinite-scrolling').replaceWith('<%= j will_paginate @songs %>');
<% else %>
$('.pagination').remove();
<% end %>