当前位置: 首页 > 面试题库 >

如何使用will_paginate gem实现ajax分页

柴砚文
2023-03-14
问题内容

will_paginateROR项目中使用gem 来显示页面中的记录。

我希望加载下一页而不使用重新加载整个页面ajax

我在网上找到了一些示例,但它们对我不起作用。

这该怎么做?


问题答案:

使用以下内容创建一个新的助手(例如app / helpers / will_paginate_helper.rb):

module WillPaginateHelper
  class WillPaginateJSLinkRenderer < WillPaginate::ActionView::LinkRenderer
    def prepare(collection, options, template)
      options[:params] ||= {}
      options[:params]['_'] = nil
      super(collection, options, template)
    end

    protected
    def link(text, target, attributes = {})
      if target.is_a? Fixnum
        attributes[:rel] = rel_value(target)
        target = url(target)
      end

      @template.link_to(target, attributes.merge(remote: true)) do
        text.to_s.html_safe
      end
    end
  end

  def js_will_paginate(collection, options = {})
    will_paginate(collection, options.merge(:renderer => WillPaginateHelper::WillPaginateJSLinkRenderer))
  end
end

然后在您的视图中使用此标记进行ajax分页:

<%= js_will_paginate @recipes %>

请记住,分页链接将包含URL的现有参数,您可以如下所示排除这些参数。这是标准的分页功能

<%= js_will_paginate @recipes, :params => { :my_excluded_param => nil } %>

希望能解决您的问题。

更新1 :在我发布此解决方案的原始问题中添加了对此工作原理的解释。

更新2 :我已经使Rails 4与remote:true链接兼容,并将helper方法重命名为 js_will_paginate



 类似资料:
  • 本文向大家介绍使用AJAX实现分页,包括了使用AJAX实现分页的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了AJAX实现分页展示的具体代码,供大家参考,具体内容如下 Fenye.html Fenye.php  以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 本文向大家介绍使用Jquery+Ajax+Json如何实现分页显示附JAVA+JQuery实现异步分页,包括了使用Jquery+Ajax+Json如何实现分页显示附JAVA+JQuery实现异步分页的使用技巧和注意事项,需要的朋友参考一下 先给大家展示下运行效果图:  1.后台action产生json数据。    2.struts.xml相关配置 3.js获取json数据分页显示 ps:JAVA+

  • 我需要使用Apache Olingo V2来实现一个使用分页的API。这意味着我需要为支持基本$top和$skip运算符的实体集合提供一个简单的URL,就像下面的示例所示: 我检查了Olingo V2服务器文档,但找不到实现分页的示例。

  • 问题内容: 目前,在graphql-java库中看不到分页的现有支持。它确实具有一些基本的中继支持,在其中,我们可以创建Facebook推荐的实现分页的方式。 这是有助于实现该目标的方法。但是,由于没有文档,因此很难理解此功能的工作原理。可有人击穿的步骤,他们将采取添加分页支持,如果他们已经有一个现成的模式,它允许像基本的查询,,等使用graphql- Java库? 问题答案: 您甚至不需要中继连

  • 问题内容: 我想使用Ajax在自定义循环中对WordPress帖子进行分页,因此当我单击“加载”时,将出现更多按钮帖子。 我的代码: 此代码不分页。有一个更好的方法吗? 问题答案: 该按钮需要向服务器发送请求,并且可以使用jQuery或纯JavaScript将返回的数据添加到现有内容中。假设您使用jQuery,这将是入门代码。 定制Ajax处理程序(客户端) 改成: Javascript: -将其

  • 本文向大家介绍PHP+jquery+ajax实现分页,包括了PHP+jquery+ajax实现分页的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了jquery ajax实现分页的具体代码,供大家参考,具体内容如下 HTML CSS jQuery 我们先声明变量,后面的代码要用到以下变量。 接下来,我们自定义一个函数:getData(),用来获取当前页数据。函数中,我们利用$.ajax