gpt4 book ai didi

javascript - 如何将无尽滚动添加到我的应用程序 Rails 4 中

转载 作者:行者123 更新时间:2023-12-03 10:05:26 25 4
gpt4 key购买 nike

1.我添加了gem 'will_paginate', '~> 3.0.7'

2.我指定每页演出的数量application_controller.rb,它列出了所有演出

class ApplicationController < ActionController::Base

before_filter :initialize_user

def initialize_user
@gigs = Gig.all.order("created_at DESC").paginate(:page => params[:page], :per_page => 8)
end
end

在我的观点旁边,注意最后一行

<section class="body customtest">
<div class="container gig-index">
<div class="row experiment">
<% @gigs.each do |gig| %>
<div class="well for-h1-gig-second col-xs-6 col-sm-4 col-lg-3 ">
<%= link_to (image_tag gig.image.url(:medium), :class=>"img-responsive"), gig %>
<h1><%= link_to gig.title, gig %></h1>
</div>
<% end %>
</div>
</div>
<%= will_paginate @gigs %> # notice this line
</section>

现在一切正常,我看到分页“1,2,3 => 下一个...”

因此,要应用我在 app/assets/javascripts/application.js 中执行的无限滚动:

$(document).ready(function() {
if ($('.pagination').length) {
$(window).scroll(function() {
var url = $('.pagination .next_page').attr('href');
if (url && $(window).scrollTop() > $(document).height() - $(window).height() - 50) {
$('.pagination').text("Please Wait...");
return $.getScript(url);
}
});
return $(window).scroll();
}
});

并在 Gigs View 中为我的 Gigs Controller 创建一个名为 index.js.erb 的文件(尽管我在应用程序 Controller 中有代码)并添加下面列出的代码。

$('#gigs').append('<%= escape_javascript render(@gigs) %>');
$('.pagination').replaceWith('<%= escape_javascript will_paginate(@gigs) %>');

现在我仍然看到“预览 1,2,3 接下来”的内容,当我向下滚动时,它显示“请稍候...”,但它永远不会加载

最佳答案

问题出在 $('#gigs').append('<%= escape_javascript render(@gigs) %>');

  1. 您没有包含 id="gigs" 的元素
  2. 您没有偏爱_gigs.html.erb

添加这两件事就足够了。

关于javascript - 如何将无尽滚动添加到我的应用程序 Rails 4 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30382151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com