14

這讓我使用will_paginate/Bootstrap Will Paginate無休止的滾動SOLUTIONwill_paginate無限滾動| Rails4

要獲得分頁工作:

1)在我的控制器我更新我的索引行動

@clips = Clip.order("created_at desc").page(params[:page]).per_page(20) 

2)編輯我的索引視圖:

<%= will_paginate @clips%> 

DONE

分頁工作得很好。

To Add Endless scrolling我做相同的步驟,在我以前的Rails 3應用程序。

1)編輯我clips.js.coffee

jQuery -> 
$('#clips-masonry').imagesLoaded -> 
    $('#clips-masonry').masonry itemSelector: ".clips-masonry" # Thats my Masonry 

if $('.pagination').length # Thats for the Endless Scrolling 
    $(window).scroll -> 
     url = $('.pagination .next_page a').attr('href') 
     if url && $(window).scrollTop() > $(document).height() - $(window).height() - 50 
      # What to do at the bottom of the page 
      $('.pagination').text("Fetching more Clips...") 
      $.getScript(url) 
     $(window).scroll() 

2)創建一個帶有index.js.erb的:

$boxes = $('<%= j render(@clips) %>') 

$('#clips-masonry').append($boxes).imagesLoaded(function(){ 
    $('#clips-masonry').masonry('reload'); 
}); 
<% if @clips.next_page %> 
    $('.pagination').replaceWith('<%= j will_paginate(@clips) %>'); 
<% else %> 
    $('.pagination').remove(); 
<% end %> 

3)新增format.js到我的控制器的索引動作

def index 
    @clips = Clip.order("created_at desc").page(params[:page]).per_page(12) 
    respond_to do |format| 
     format.html 
     format.js 
    end 
end 

4)我_clip.html.erb被包裹在div

<div class="clip-box clips-masonry" data-no-turbolink> 
+0

什麼問題?無盡的滾動分頁代碼將起作用(儘管它不是turbolinks友好的) - 如果列出錯誤,您可能會得到一些見解。 – trh

+0

問題是,它不工作:),沒有錯誤,無盡的只是不工作:(我認爲它必須與format.js,我必須包括在我的控制器。但在Rails 4控制器改變了,我不能得到它的工作 –

+0

它對我來說工作正常,我仍然使用與format.js respond_to塊。什麼是事件調用你的日誌,HTML?像'剪輯?page = 2 ''ClipsController#index as HTML'? – trh

回答

7

好吧,我得到它與我的更新問題的工作,大家誰在這個問題絆倒,這是解決方案。