您的位置:首页 > 其它

分页插件之--kaminari

2015-06-25 22:04 148 查看

分页插件kaminari

  • 可以很方便支持I18N
  • 可以很方便完成各种分页样式的定制
  • 支持Rails 3.0.x,3.1, 3.2, 4.0, 4.1

安装

  1. 在Gemfile中增加一行gem 'kaminari'
  2. 运行bundle install 进行安装
  3. 执行rails g kaminari:config生成一个kaminari_config配置文件
  4. 执行rails g kaminari:views default  这样会创建**app/views/kaminari/ 文件夹,你可以对其进行自定义
default_per_page  # 25 by default 缺省情况下的每页个数,默认为25
max_per_page      # nil by default
window            # 4 by default window / outer_window / left / right这四个参数都与分页显示有关系,特别是在总页数比较多的时候,该如何显示
outer_window      # 0 by default
left              # 0 by default
right             # 0 by default
page_method_name  # :paginate by default 分页方法的名称,如果你怕冲突(比如想很蛋疼地同时使用 will_paginate),可以修改它
param_name        # :page by default 分页参数的参数名,默认为 param
 

 

使用方法

     安装之后在**ActiveRecord** 和 view等中使用

   1. 可以在controller上使用

@admin_customers = Kaminari.paginate_array(@users).page(params[:page]).per(@pagesize)(给数组分页)
 

   2. 可以在model对象中使用 **.page()** 和 .per()这2个方法

每页10个,取第一页数据
User.page(2).per(10)
如果传给**.page()**方法的参数是 nil,则默认为1
User.page(params[:page])
 

    3. 在 view 中使用,显示分页栏

 

 

<%= paginate @users %>
这时会生成这样会生成类似 « First ‹ Prev ... 2 3 4 5 6 7 8 9 10 ... Next › Last » 的样式
 

   4.  还可以利用Ajax分页

<%= paginate @users, :remote=>true%>
 

 

分页界面定制

     为了自定义分页的显示样式,首先要生成一些模板文件

rails g kaminari:views default
 

    这样会创建 app/views/kaminari/ 文件夹,可以对其进行自定义(文件名不可以修改)

  • [li]
[/li]
_paginator.html.erb 这是总的入口文件,可以通过修改它来调整显示的整体结构比如我不需要“首页”,”末页“这两个链接,那么我就在这个文件里面将对应的代码删除
_page.html.erb 对应页码链接
_first_page.html.erb / _last_page.html.erb 对应“首页”和“末页”的链接
_prev_page.html.erb / _next_page.html.erb 对应“上一页”和“下一页”的链接
_gap.html.erb 空隙的显示,默认是中间的省略号(...)
  •  

  I18n

en:
views:
pagination:
first: "&laquo; First"
last: "Last &raquo;"
previous: "&lsaquo; Prev"next: "Next &rsaquo;"
truncate: "..."
 

 

总页数方法:@users.num_pages

总件数方法:@users.total_count

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: