2014-10-03 31 views
0

我在rails應用程序中遇到了這個不尋常的問題。我有一個觀點,我正在使用RESTful路線。 在我看來,我有一個索引和一個顯示操作。在我的索引中,我是否使用will_paginate來處理從表格中打印的某些行。當我按下分頁時,它會發出ajax請求並呈現下5行。一切工作正常,我第一次加載網站,當我點擊下一步它由JS處理到控制器。但是,當我點擊顯示在我的表格打印的職位之一,並指向show.html.erb並按下一個按鈕來回到索引我得到與我的分頁ajax調用異常問題。如果我點擊下一個例如它是由HTML處理。如果我再次更新索引,ajax調用再次工作。Ruby on rails,ajax分頁錯誤,在更改網站之前工作

index.html.erb

<% @posts.each do |post| %> 
<%= post.name %> 
<%= link_to 'show', post_path(post) %> 
<% end %> 
<div class="show_pagination"><%= render 'posts/pagination' %></div> 

_pagination.html.erb

<div class="pagination"> 
<%= will_paginate @posts, :page_links => false %> 
</div> 

index.js.html

$('.show_pagination').html('<%= escape_javascript(render("posts/pagination")) %>'); 

show.html.erb

<%= @posts.name %> 
<%= link_to 'All posts', posts_path %> 

posts_controller.rb

def index 
@posts = Post.paginate(page: params[:page],:per_page => 5).all.order('created_at DESC') 
end 

def show 
@posts = Post.find(params[:id]) 
end 

的application.js

$(document).ready(function() { 
    $("body").on("click", '.show_pagination .pagination a', function(e){ 
     e.preventDefault(); 
     $.getScript(this.href); 
     return false; 
    }); 
}); 

我不我的JavaScript控制檯中看到任何錯誤,或在軌控制檯。 我使用ROR 4,並使用Jquery和Jquery ui gem。

在此先感謝。

回答

0

用途:

def index 
    @posts = Post.order('created_at DESC').paginate(page: params[:page], per_page: 5) 
end 
+0

謝謝,我會這麼做的。但我的挑戰是,當我去show.html.erb並再次返回ajax調用不起作用。但是如果我再次更新索引,它會再次運行。 – niiicolai 2014-10-03 13:05:50

+0

你在使用turbolinks嗎? – coorasse 2014-10-03 18:11:01

+0

剛纔看到你的回答 – coorasse 2014-10-03 18:11:24