Rails アプリに jQuery Ajax を実装しようとしていますが、これまでのところ機能していますが、頭を包むことができないバグがあります。基本的に、will_paginate を使用してすべての本をリストし、各 5 ページずつグループ化する本のページがあります。
Books ビューの index.html.erb ファイルには、次のコード スニペットがあります。
<div id="page_paginate">
<%= will_paginate @books %><br />
<%= render @books %>
</div>
@books パーシャルは _book.html.erb として保存され、次のようになります。
<div class="books_box">
<h1><%= book.title%><span>(<%=link_to book.author.name, book.author%>)</span></h1>
<img alt="image" src="<%= book.image_url %>">
<div class="book_info">
<div class="detail_button"><%= link_to "Details", '#' %></div>
<div class="like_button"><%= link_to "Like", '#' %></div>
</div
私の application.js ファイルには、次のコードがあります。
$(function() {
$("#page_paginate .pagination a").live("click", function() {
$.getScript(this.href);
return false;
});
});
また、views/books ディレクトリに index.js.erb ファイルもあります。
$("#page_paginate").html("<%= escape_javascript(render(@books))%>")
問題は次のとおりです。
ページネーションはajaxで完全に機能しますが。ページをリロードせずにページをめくると、最初のクリック後にページネーションのリンクが消え、books_url に戻って再度表示する必要があります。<%= will_paginate %> をこのように本の部分に入れてみました:
<%= will_paginate @books %><br />
<div class="books_box">
<h1><%= book.title%><span>(<%=link_to book.author.name, book.author%>)</span></h1>
<img alt="image" src="<%= book.image_url %>">
<div class="book_info">
<div class="detail_button"><%= link_to "Details", '#' %></div>
<div class="like_button"><%= link_to "Like", '#' %></div>
</div
</div>
そうすれば、ページのリンクはすべてのリストの上に表示されます。私の目標は、ページネーション リンクを各ページの末尾の上下にのみ表示することです。おそらくループまたはリンクを配置する場所に問題があると思いますが、初心者の心が想像できることはすべて試しました。少し助けていただければ幸いです。ありがとう