`
喵喵
  • 浏览: 5832 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

分页插件之--will_paginage

阅读更多
正常分页:
在rails3中,用will_paginage有两种方式,第一种就是用plugin形式,安装方法:
这里有个wiki关于安装的说明,https://github.com/mislav/will_paginate/wiki/installation,这里我只是想说一下关于这个插件的配置参数。首先,如果你是用插件安装的,那么找到vendor/plugins/will_paginate/lib/will_paginate/view_helpers.rb,这个helper就是这个插件的关于现实的helper,
 
@@pagination_options  =  {  : class   =>   ' pagination ' , 
         : prev_label    =>   ' 上一页 ' ,   #这个一般是用在我们中文网站上的时候需要进行改动,默认是 << Previous
         : next_label    =>   ' 下一页 ' ,   #这个一般是用在我们中文网站上的时候需要进行改动,默认是 Next >>
         : inner_window  =>   4 ,   # inner_window  控制显示当前页临近的多少个链接 ,默认是4
         : outer_window  =>   1 , # outer_window 控制显示首/末页临近的多少个链接,默认是1
        :page_links => false, # 如果是false的时候,只显示上一页和下一页 (默认是 true)
         : separator     =>   '   ' ,   # 这个参数是用来设置页码之间 的分隔符的,用空格或者(|)或者其他的都可以 
         : param_name    =>   : page ,   #这个参数是用来我们点击页码连接的时候传递的参数的名称,一般不用改动
        :class           =>  'pagination' ,  #这个是用来给分页的元素家heml的类名的,可以通过这个类名进行样式布局。 
        }
 
 
以上说的是你以插件的形式安装的,如果你用的而是rubygems形式安装的,那么这个配置你就需要到配置文件里面去改了,如果你的项目时2.x的,那么你的配置文件的改动应该是在config/environment.rb里面,加上类似于这样的几句,来进行相关的默认修改:
1. WillPaginate::ViewHelpers.pagination_options[ :class ] =  "yourclass"   
2. WillPaginate::ViewHelpers.pagination_options[:previous_label ] =  "前一页"   
3. WillPaginate::ViewHelpers.pagination_options[:next_label ] =  "后一页"   
       如果你的项目时3.0以上的版本的话,那么你的这个配置修改就要到 config/initalizer下新建一个文件(例如:will_paginate.rb),在这个文件里面加上类似于上面的三句的配置,来进行修改。
用法:
1、 在config文件中配置 gem ‘will_paginate’
2、 (控制器)在要用到的分页功能的查询语句后面添加
:.paginate(:page => params[:page], :per_page => 3):page是页面接收的参数,:per_page是页面要显示记录数;
 
3、页面在要显示的地方加上一句:<%= will_paginate @comments %>
 
下面是例子:

AJAX分页:
1、在application_heler.rb文件中添加:
    
def will_paginate_remote(paginator, options={})
    function = options.delete(:after)
    update = options.delete(:update)
    url = options.delete(:url)
    str = will_paginate(paginator, options)
=begin
    if str != nil
      str = str.gsub(/href="(.*?)"/) do
        "href=\"#\" onclick=\"jQuery.ajax('#{(url ? url + $1.sub(/[^\?]*/, '') : $1)}',{
          method: 'get',
          dataType: 'html',
          success: function(data){
              alert('---------');
              $('##{update}').html(data);

          }
        })\""
      end.html_safe
    end
=end
    str.scan(/href="(.*?)"/).flatten.uniq.each do |a|
      test_url = url ? url + a.sub(/[^\?]*/, '') : a
      str.gsub!("href=\"#{a}\"") do
        "href=\"#\" onclick=\"jQuery.ajax('#{test_url}',{
          method: 'get',
          dataType: 'html',
          success: function(data){
              $('##{update}').html(data);
          }
        })\""
      end
    end
    str.html_safe
  end

 

2、页面写法

 
<%= will_paginate_remote(@purchases, :update=>'admin_purchase_list', :params => params)%>
 
分享到:
评论

相关推荐

    easyui-lang-zh_CN.js,easyui汉化包

    easyui插件的支持日期汉化,分页汉化,form表单提示汉化。

    page-by-page.rar_java sql 分页_page_page-by-page_分页 java

    在Java编程领域,数据库操作是不可或缺的一部分,尤其是在处理大量数据时,分页查询技术显得尤为重要。标题中的"page-by-page.rar_java sql 分页_page_page-by-page_分页 java"指向了一个针对SQL Server数据库的Java...

    List-Operation-master_operation_servlet_分页_churchpme_

    在Java Web开发中,分页是一项常见的需求,用于处理大量数据的展示,提高用户体验并减少服务器负载。"List-Operation-master_operation_servlet_分页_churchpme_"这个项目是基于JAVA、Servlet和Web技术实现的分页...

    JSP+JDBC_假分页\\1-JSP+JDBC_假分页_

    JSP+JDBC_假分页\\1-JSP+JDBC_假分页_.wmv

    分页插件--基于jq编写的分页插件

    本文将详细介绍一个基于jQuery编写的分页插件,以及如何利用这个插件快速实现网页的分页功能。 分页插件的核心目标是提供一种简单、易用的方式来将大量数据分割成多页,允许用户通过点击页码或导航按钮来浏览数据的...

    will_paginate分页插件

    **will_paginate分页插件详解** 在Web开发中,数据分页是一项常见的需求,它可以帮助用户更有效地浏览大量信息,提高用户体验。Rails框架中,`will_paginate`是一个非常流行且强大的分页插件,它简洁易用,功能强大...

    分页插件--pagination

    "分页插件--pagination"通常指的是用于实现这种功能的软件组件,它可以方便地集成到各种前端或后端项目中。在这里,我们将深入探讨分页的基本原理、工作方式以及如何利用pagination插件来优化用户体验。 分页的基本...

    分页插件free-Mybatis_PageHelper-master最新版

    Mybatis_PageHelper是一款针对Mybatis框架的高效分页插件,它的出现极大地方便了开发者在处理大量数据时进行分页操作。此插件的最新版本"free-Mybatis_PageHelper-master"旨在提供更稳定、更高效的服务。下面将详细...

    displaytag-1.1.1-src.zip_SRC_displaytag_displaytag-1.2-bin_displ

    分页标签是DisplayTag的核心功能之一,它允许开发者在网页上轻松地显示大量数据,而无需编写复杂的服务器端代码。通过使用DisplayTag的分页标签,开发者可以设置每页显示的数据量、自定义分页链接样式、实现上一页/...

    22-09-02-066_JsonTable(X.PagedList.Mvc.Core分页插件)

    X.PagedList.Mvc.Core分页插件中Ajax分页功能是结合jquery.unobtrusive-ajax.js中的方法实现的,jquery.unobtrusive-ajax.js,被大量的开发者高频率的使用,所以我对X.PagedList.Mvc.Core分页插件的健壮性就没有了...

    jspPageControlor分页插件--jsp分页jar包

    jspPageControlor分页插件是千里web架构实验室成员--刘捷开发的插件,用来解决jsp程序设计中分页所带来的不便,让程序开发者轻松的实现分页功能。

    easyui-lang-zh_CN.js

    用于解决easyui的英文显示问题,比如分页控件显示的都是英文,引入这个可以显示为中文

    2-JSP_JDBC_真分页

    为了提高性能,避免在高并发场景下频繁查询数据库,可以使用缓存机制,比如使用内存缓存(如 EhCache)或数据库缓存(如 MySQL 的 Memcached 插件)。此外,分页参数的优化也很关键,例如,避免使用大的OFFSET值,...

    JavaScript分页控件1.0(page-navigater_V_1.0.0.zip)

    以前写的分页控件都是和相关技术有关的,这是一个JavaScript写的分页控件,与服务器端的技术,如ASP,ASP.NET,PHP,JSP等无关,只需要在相应的地方输出信息即可; &lt;br&gt;调用方式: 用动态Web语言在HTML界面上...

    ajax-static-pagination_Pagination_ajax_static_

    **Ajax静态分页技术详解** 在网页开发中,数据加载是一个关键环节,特别是在处理大量数据时,传统的全页面刷新方式不仅影响用户体验,还可能导致服务器负载过大。为了解决这一问题,Ajax(Asynchronous JavaScript ...

    dedecms织梦首页分页插件_hexo分页_dedecms_织梦csm_

    织梦CMS默认首页文章列表是不能分页的,但是我这个网站主页做个人博客网站的,首页要用到分页,所以装了织梦首页分页插件这个插件来实现。但是装完插件后发现,首页分页URL地址是index**.html这种格式,和我原来hexo...

    php-access--page.rar_page

    数据分页的核心是通过限制SQL查询返回的结果数量来实现。通常,我们会根据用户请求的页码,计算出当前页应该显示的数据范围,然后从数据库中获取这些数据。例如,每页显示10条记录,第2页的数据就是从第11条开始到...

    分页插件 pagehelper-3.7.4.jar

    分页插件 pagehelper-3.7.4.jar

Global site tag (gtag.js) - Google Analytics