Ruby on rails 页面上的rails无限滚动ajax操作>;1项
让我首先声明,这是一个使用了大量其他人的代码,但不完全了解发生了什么以及如何解决我的问题的例子 我使用will_paginate遵循Railscast for infinite scroll,并且工作正常 我每页加载12个项目,每个项目都有自己的部分内容。每个项目都是用户可以通过单击“竖起大拇指”按钮“喜欢”的对象 我单击此按钮,然后为“喜欢”的项目重新加载分部 这适用于第1-12项(第一页) 当用户单击通过无限滚动加载的项目上的“竖起大拇指”按钮时,将执行ajax调用,但不会再次找到该对象,并且部分将变为空白 这是我的密码-Ruby on rails 页面上的rails无限滚动ajax操作>;1项,ruby-on-rails,ajax,infinite-scroll,Ruby On Rails,Ajax,Infinite Scroll,让我首先声明,这是一个使用了大量其他人的代码,但不完全了解发生了什么以及如何解决我的问题的例子 我使用will_paginate遵循Railscast for infinite scroll,并且工作正常 我每页加载12个项目,每个项目都有自己的部分内容。每个项目都是用户可以通过单击“竖起大拇指”按钮“喜欢”的对象 我单击此按钮,然后为“喜欢”的项目重新加载分部 这适用于第1-12项(第一页) 当用户单击通过无限滚动加载的项目上的“竖起大拇指”按钮时,将执行ajax调用,但不会再次找到该对象,并
#@messages partial
<div class="span3 well" style="height:360px;" id="message-<%=message.id%>">
<div class="thumbnail">
<%= image_tag message.gif.url %>
<div class="caption">
<h5><%=link_to message.sender, "/profile/#{User.find_by_username(message.sender).id}"%></h5>
<h5><%=message.chain.subject %></h5>
<p><em>"<%= message.content %>"</em></p>
<p><a href="/upvote/<%=message.id%>" data-remote="true" class="btn btn-success"><%=message.up_votes%>
<i class="icon-thumbs-up"></i> Nice Work</a>
</div>
</div>
</div>
# js.coffee (from railscast)
jQuery ->
$(window).scroll ->
url = $('.pagination .next_page').attr('href')
if url && $(window).scrollTop() > $(document).height() - $(window).height() - 50
$('.pagination').text('Loading more gifs...')
$.getScript(url)
# vote.js -- js executed by ajax call
$("#message-<%=params[:id]%>").load(location.href+" #message-<%=params[:id]%>>*", "");
#@消息部分
“”
#js.coffee(来自railscast)
jQuery->
$(窗口)。滚动->
url=$('.pagination.next_page').attr('href'))
如果url&&$(窗口).scrollTop()>$(文档).height()-$(窗口).height()-50
$('.pagination').text('加载更多GIF…')
$.getScript(url)
#vote.js——由ajax调用执行的js
$(“#消息-”).load(location.href+“#消息->*”,”);
我很确定问题出在vote.js上。.load(location.href+“#message->*”,“”)
似乎无法在第2、第3、第4等页面上找到对象,因为它使用location.href
作为当前url,仅提供前12个对象。我想我需要以某种方式将页面放入该url,但我不确定如何实现这一点
编辑-
或者,我应该为所有未分页的邮件设置一个端点,并调用该url,而不是
location.href+
?这个问题似乎已经解决了
有趣的是,它似乎在本地不起作用,但在Heroku上起作用
如果有人对此有解释的话,我很想听听,否则问题就解决了