Ryan Bates Railscast #114(revised)に従い、ページに無限スクロールを追加しました。Javascript は最初の最初の 10 個のオブジェクト (サイトが読み込まれたときに読み込まれる最初の 10 個のオブジェクト) で機能しますが、問題は、スクロール時に読み込まれる残りのオブジェクト (ページ分割されたオブジェクト) で JavaScript が機能しないことです。
誰かがこの問題を解決する方法を知っていますか?
.js (これは説明のためのダミーの js の例です。最初の 10 個のオブジェクトに境界線がありますが、残りのオブジェクトにはありません)
$ ->
$(".thumbnail").css "border-width": "2px"
.css
.thumbnail {
border-style: solid;
border-color: #ee2a7c;
border-width: 0px;
}
main_view.html.erb
<div class="container" id="sp">
<%= render 'pages/singlePost' %>
</div>
<div class="row">
<div class="span6 offset3">
<%= will_paginate @posts %>
</div>
</div>
_singlePost.html.erb
<% @posts.each do |p| %>
<div class="row">
<div class="span6 offset3">
<div class="thumbnail">
<%= p.title %>
/*Some other code goes in here*/
</div>
</div>
</div>
<% end %>
main_view.js.erb
$('#sp').append("<%= j render 'pages/singlePost' %>");
<% if @posts.next_page %>
$('.pagination').replaceWith('<%= j will_paginate(@posts) %>');
<% else %>
$('.pagination').remove();
<% end %>
controller.rb (一度に 10 個のオブジェクトがページ分割されます)
def lelist
@post = Post.new
@posts = Post.where("DATETIME(created_at) <= DATETIME(?)", Time.now).order("created_at DESC").page(params[:page]).per_page(10)
end