Rails& JS:无限滚动

时间:2015-02-02 20:49:23

标签: jquery ruby-on-rails coffeescript pagination infinite-scroll

我已经跟随this tutorial以无限滚动方式转换我的索引页面。

但结果是我有一些分页按钮而不是infinte滚动 enter image description here

所以这是我的代码:

index.html.erb

-

<div id="my-annonces">
     <%= render @annonces %>
</div>
<div id="infinite-scrolling">
     <%= will_paginate %>
</div>

-

AnnoncesController

-

class AnnoncesController < ApplicationController
 def index
  page_paginate = 6
  @annonces = Annonce.paginate(page: params[:page], per_page: page_paginate).order('created_at DESC')
  respond_to do |format|
   format.html
   format.js
  end
end

-

index.js.erb

-

   $('#my-annonces').append('<%= j render @annonces %>');
    <% if @annonces.next_page %>
       $('.pagination').replaceWith('<%= j will_paginate @annonces %>');
    <% else %>
       $(window).off('scroll');
       $('.pagination').remove();
    <% end %>

-

这个js从未被调用过,现在不知道为什么。如果我把它称为它的视图。但我不知道.pagination是什么......

-

正如他所说,我在javascripts目录中创建了一个新文件pagination.js.coffee

-

jQuery ->
 if $('#infinite-scrolling').size() > 0
  console.log "AAAAA "
  $(window).on 'scroll', ->
      console.log "BBBBBB "
    more_posts_url = $('.pagination .next_page a').attr('href')
      console.log "CCCCC "
    if more_posts_url && $(window).scrollTop() > $(document).height() - $(window).height() - 60
          console.log "DDDDD "
        $('.pagination').html('<img src="/assets/ajax-loader.gif" alt="Loading..." title="Loading..." />')
        $.getScript more_posts_url
    return
  return

-

但是这个文件也从未被调用过。

我在rails控制台或js控制台中没有任何错误。我注意到JS非常有经验,所以我有点多了。

任何人都知道问题是什么? 谢谢!

1 个答案:

答案 0 :(得分:0)

我的不好,

我只是忘了包括我的pagination.js.coffee ...... 我是如此愚蠢,对不起伙计们!

没关系,我希望我的帖子可以帮助其他人使用infinte滚动!