Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 页面上的rails无限滚动ajax操作>;1项_Ruby On Rails_Ajax_Infinite Scroll - Fatal编程技术网

Ruby on rails 页面上的rails无限滚动ajax操作>;1项

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调用,但不会再次找到该对象,并

让我首先声明,这是一个使用了大量其他人的代码,但不完全了解发生了什么以及如何解决我的问题的例子

我使用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上起作用

如果有人对此有解释的话,我很想听听,否则问题就解决了