gpt4 book ai didi

javascript - 带有 will_paginate 的 jQuery Endless 页面在 Rails 中不起作用

转载 作者:行者123 更新时间:2023-11-30 05:47:56 25 4
gpt4 key购买 nike

我正在尝试实现 Railscasts 第 114 集中所示的无限页面功能。分页效果很好,但无限页面功能根本不会触发。我没有看到任何错误;只是分页,就好像我没有添加无尽的页面 javascript 一样。我的代码:

事件 Controller

class ActivitiesController < ApplicationController
before_filter :authenticate_user!
def index
@activities = PublicActivity::Activity.order("created_at DESC").where(owner_type: "User", owner_id: current_user.followed_users.map {|u| u.id}).page(params[:page]).per_page(15)
@post = current_user.posts.build

respond_to do |format|
format.html
format.json
format.js
end
end
end

activities.js.coffee

jQuery ->
if $('.pagination').length
$(window).scroll ->
url = $('.pagination .next_page').attr('href')
if url && $(window).scrollTop() > $(document).height() - $(window).height() - 50
$('.pagination').text("Loading more activities...")
$.getScript(url)
$(window).scroll()

index.js.erb

$('#activities').append('<%= j render ('shared/activities') %>');
<% if @activities.next_page %>
$('.pagination').replaceWith('<%= j will_paginate('shared/activities') %>');
<% else %>
$('.pagination').remove();
<% end %>
<% sleep 1 %>

共享/_activities.html.erb

<div class="activities">
<% @activities.each do |activity| %>
<code>
<% end %>
<%= will_paginate @activities %>
</div>

问题一定出在 javascript 上,但我无法弄清楚。关于可能导致问题的原因有什么想法吗?

谢谢!-b

最佳答案

我设法用 Rails 4 中的“index.js.erb”文件完成了它。只需添加这个 coffeescript:

$(window).on 'scroll', ->
if $('.pagination').length
@url = $('.pagination .next_page').attr('href')
if url && $(window).scrollTop() > $(document).height() - $(window).height() - 50
$('.pagination').remove()
$('#articles').append('<div>')
$('#articles div').last().load @url+' #articles', ->
if $('.next_page.disabled').length
$('.pagination').remove()

这会加载下一页,然后在新加载的页面上使用分页,直到没有下一页为止。只需将“#articles”替换为脚本中容器的 ID。跳过 index.js.erb 和 respond_to jazz。

关于javascript - 带有 will_paginate 的 jQuery Endless 页面在 Rails 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16749959/

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