繁体   English   中英

ruby if js.erb文件的陈述

[英]ruby if statment for js.erb file

任何人都可以协助我设置我的js.erb文件以涵盖两种情况。

目前,当页面最初加载时,我可以进行无限滚动,但是当我更改参数时,新集合可以很好地加载,但是当我向下滚动页面以加载其余结果时,我仅获得下一组6个对象来替换最后,而不是将它们附加到末尾

rehome.js.erb

$('.all_animals').append("<%= j render @animals %>");
 <% if @animals.next_page %>
  $('.pagination').replaceWith('<%= j will_paginate @animals %>');
 <% else %>
  $(window).off('scroll');
  $('.pagination').empty();
 <% end %>

Java脚本

function infiniteScroll() {
 if($('#infinite-scrolling').size() > 0) {
 $(window).on('scroll', function(){
 //Bail out right away if we're busy loading the next chunk
 if(window.pagination_loading){
  return;
 }
   more_url = $('.pagination a.next_page').attr('href');

if(more_url && $(window).scrollTop() > $(document).height() - $(window).height() - 50){

//Make a note that we're busy loading the next chunk.
  window.pagination_loading = true;
  $('.pagination').text('Loading.....');
   $.getScript(more_url).always(function(){
    window.pagination_loading = false;
  });
 }
 });
} 
}

所以在页面加载时我调用函数

$(function(){
 infiniteScroll();
});

并作为ajax成功回调

success: function(data) {
     infiniteScroll();
   }

当进行ajax调用时,params:rehomed始终存在,因此我可以在其中包装单独的逻辑

<% if params[:rehomed].present? %>

<% end %>

有谁对我的rehome.js.erb文件中的新加载内容有任何想法

谢谢

更新资料

所以在页面加载时我需要这是逻辑

$('.all_animals').append("<%= j render @animals %>");
 <% if @animals.next_page %>
  $('.pagination').replaceWith('<%= j will_paginate @animals %>');
 <% else %>
  $(window).off('scroll');
  $('.pagination').empty();
<% end %>

当我需要更新集合时

$('.all_animals').empty();
$('.all_animals').append("<%= j render @animals %>");

<% if @animals.next_page %>
 $('.pagination').replaceWith('<%= j will_paginate @animals %>');
<% else %>
 $(window).off('scroll');
 $('.pagination').empty();
<% end %>

我如何尝试将它们组合成一个陈述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM