分页插件kaminari
- 可以很方便支持I18N
- 可以很方便完成各种分页样式的定制
- 支持Rails 3.0.x,3.1, 3.2, 4.0, 4.1
安装
- 在Gemfile中增加一行gem 'kaminari'
- 运行bundle install 进行安装
- 执行rails g kaminari:config生成一个kaminari_config配置文件
- 执行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/ 文件夹,可以对其进行自定义(文件名不可以修改)
_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: "« First" last: "Last »" previous: "‹ Prev"next: "Next ›" truncate: "..."
总页数方法:@users.num_pages
总件数方法:@users.total_count
相关推荐
5. **与 Kaminari 对比**:虽然 `kaminari` 也是另一个常见的分页插件,但 `will_paginate` 更为成熟,社区支持更广泛,对于大多数项目来说,`will_paginate` 是首选。 使用 `will_paginate` 的步骤大致如下: 1. ...
分页插件通常通过简单的API集成到控制器和视图中,提供友好的URL结构和可定制的样式。 4. **上传文件进度**: 对于大文件上传,用户可能需要知道文件上传的进度。这可以通过JavaScript库如jQuery-File-Upload或...
你可以通过自定义分页助手来改变样式,或者使用如`kaminari-bootstrap`或`kaminari-bootstrap4`这样的插件来匹配Bootstrap框架。 7. **分页与Ajax** 如果你想实现无刷新分页,可以结合Ajax来更新内容。在控制器中...
Rails提供了`will_paginate`或`kaminari`这样的插件来简化分页实现。以`will_paginate`为例,首先添加到Gemfile并安装: ```ruby gem 'will_paginate' gem 'will_paginate-bootstrap' # 如果你想使用Bootstrap样式 ...
开发者可以根据项目需求和团队偏好选择合适的分页插件。 总结,will_paginate是Rails开发中不可或缺的工具之一,它简化了数据分页的实现,提升了代码的可读性和维护性。通过理解并熟练掌握will_paginate的使用,...
5. **kaminari-0.16.1.gem**: Kaminari是一个轻量级的分页库,支持Rails和ActiveRecord,用于优雅地处理数据分页,使得前端展示更加友好,用户体验更佳。 6. **sexp_processor-4.4.3.gem**: SexpProcessor库通常...
12. **Kaminari** 和 **WillPaginate**:分页插件,帮助处理大量数据的显示。 13. **Ransack**:提供强大的搜索和过滤功能,让用户可以根据需要自定义搜索条件。 14. **SimpleForm** 和 **Formtastic**:简化Rails...
分页(Kaminari) 身份验证(Devise) 图表(GetOrgChart) Google Map API 稽核 编辑器 测试用例 特威里奥 延迟::工作 弹性搜寻 耙任务 CSV,XLS contextMenu(右键菜单) 客户端验证 Sidekiq ============...
Rails提供了一些插件,如`will_paginate`或`kaminari`,它们提供了一种优雅的方式来分页查询结果,提高用户体验。 6. **日历**:为了展示时间相关的简历信息,如工作经验或项目日期,可以使用像`fullcalendar-rails...
Rails提供了`kaminari`或`will_paginate`等插件实现分页,而`ransack`可以让用户通过复杂的查询条件过滤数据。 9. 测试:测试是API开发不可或缺的部分。Rails提供TDD(Test-Driven Development)工具如RSpec和...
`Will_Paginate` 是一个非常流行的Ruby on Rails插件,用于处理大型数据集的分页。它提供了简洁、灵活的API,使得在Rails应用中实现数据库查询结果的分页变得简单易行。在本篇文章中,我们将深入探讨`Will_Paginate`...