rails infinate scrolling load 2次单页

时间:2017-05-27 07:21:55

标签: jquery ruby-on-rails ruby-on-rails-4

您好我正在尝试使用分页宝石在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 %>

0 个答案:

没有答案