分页转

登录

首页 专栏 专家 热文

青竹剑侠

[原]rails kaminari bootstrap-kaminari-views certified

2014-4-15阅读488 评论0

kaminari是一个基于范围和驱动的清洁的、强大的、可定制的并且复杂的现代Web应用程序框架和对象关系模型。它只请求当前页所需的数据,不会将 表中所有数据加载完然后分页(很遗憾wice_grid就是这样的,据我所知),极大地提高了数据量大的应用的性能。

易用:

只需安装gem文件,然后你的model就可以分页了,不需要任何配置,也不必在你的models或helpers中定义任务东西。
基于I18N的可定制引擎:
        由于所有的分页帮助都是基于链接和非链接的容器,Kaminari在自己的引擎内部模板参考了他们,因此,你能很容易的修改
他们的行为、风格、或者重载模板的任何事情。

1.在gemfile文件中引入

#分页插件
gem ‘kaminari‘
gem ‘bootstrap-kaminari-views‘

2.执行bundle install

3.生成配置文件(这不是必须的,完全可以使用默认的,也可自己在程序中通过参数进行控制)

rails g kaminari:config
Kaminari.configure do |config|
  # config.default_per_page = 25
  # config.max_per_page = nil
  # config.window = 4
  # config.outer_window = 0
  # config.left = 0
  # config.right = 0
  # config.page_method_name = :page
  # config.param_name = :page
end

4.修改models/book.rb文件

class Book < ActiveRecord::Base
  #附件
  has_many :attachments, as: :owner, dependent: :delete_all, autosave: true
  has_many :assets, through: :attachments
  accepts_nested_attributes_for :assets, allow_destroy: true
  accepts_nested_attributes_for :attachments, allow_destroy: true

  paginates_per 2             #每页显示两条数据

end

5.修改books_controller.rb文件

# GET /books
  # GET /books.json
  def index
    @books = Book.order(:id).page params[:page]
  end

6.修改views/books/index.html.erb文件

<h1>Listing books</h1>

<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>Author</th>
      <th>Content</th>
      <th></th>
      <th></th>
      <th></th>
    </tr>
  </thead>

  <tbody>
    <% @books.each do |book| %>
      <tr>
        <td><%= book.name %></td>
        <td><%= book.author %></td>
        <td><%= book.content %></td>
        <td><%= link_to ‘Show‘, book %></td>
        <td><%= link_to ‘Edit‘, edit_book_path(book) %></td>
        <td><%= link_to ‘Destroy‘, book, method: :delete, data: { confirm: ‘Are you sure?‘ } %></td>
      </tr>
    <% end %>

  </tbody>

</table>
<%= paginate @books %>
<br>

<%= link_to ‘New Book‘, new_book_path %>

7.使用bootstrap的theme渲染kaminari分页插件

8.执行命令

rails g kaminari:views bootstrap

9.出现错误

 SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: 
 certificate verify failed (OpenSSL::SSL::SSLError)

10.解决办法,在gemfile文件中添加

#自定义分页插件主题
#执行rails g kaminari:views bootstrap 时报错 作用:Ensure net/https uses OpenSSL::SSL::VERIFY_PEER to
#verify SSL certificatesand provides certificate bundle in case OpenSSL cannot find one
gem ‘certified‘

11.执行bundle install

12.执行命令,生成kaminari 的view模板

rails g kaminari:views bootstrap

13.启动程序,查看效果

14.更多信息请参考

kaminari      bootstrap-kaminari-views
         certified

15.项目源码

liwenjuan

上一篇
下一篇

请先登录后,再发表评论!

查看评论

更多评论(0)

回顶部

移动版|桌面版

©1999-2012, CSDN.NET, All Rights Reserved

时间: 2024-10-13 21:28:29

分页转的相关文章

python__Django 分页

自定义分页的类: #!/usr/bin/env python # -*- coding: utf-8 -*- # Created by Mona on 2017/9/20 from django.utils.safestring import mark_safe class Paginator: ''' 页码的格式依赖于bootstrap: 使用案例: from django.shortcuts import render,redirect,HttpResponse from app01.mod

ajax+分页

<!DOCTYPE html><html><head lang="zh-cn"><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"><meta http-equiv="X-UA-Compat

使用插件bootstrap-table实现表格记录的查询、分页、排序等处理

在业务系统开发中,对表格记录的查询.分页.排序等处理是非常常见的,在Web开发中,可以采用很多功能强大的插件来满足要求,且能极大的提高开发效率,本随笔介绍这个bootstrap-table是一款非常有名的开源表格插件,在很多项目中广泛的应用.Bootstrap-table插件提供了非常丰富的属性设置,可以实现查询.分页.排序.复选框.设置显示列.Card view视图.主从表显示.合并列.国际化处理等处理功能,而且该插件同时也提供了一些不错的扩展功能,如移动行.移动列位置等一些特殊的功能,插件可

优化LIMIT分页

在系统中需要分页的操作通常会使用limit加上偏移量的方法实现,同时加上合适的order by 子句.如果有对应的索引,通常效率会不错,否则MySQL需要做大量的文件排序操作. 一个非常令人头疼问题就是当偏移量非常大的时候,例如可能是limit 10000,20这样的查询,这是mysql需要查询10020条然后只返回最后20条,前面的10000条记录都将被舍弃,这样的代价很高.如果所有的页面被访问的频率相同,那么这样的查询平均需要访问半个表的数据.要优化这样的查询,要么实在页面中限制分页的数量,

Ajax实现无刷新分页

注:本文中使用到的一些类库在前面文章都能找到源代码,我会在文中指明链接所在,为了缩短文章篇幅,由此带来的阅读不便,敬请谅解. 本文讲解 Ajax 实现无刷新分页.实现原理.代码展示.代码下载. 这里需要说明一些知识: 1.Ajax 无刷新页面的好处:提供良好的客户体验,通过 Ajax 在后台从数据库中取得数据并展示,取缔了等待加载页面而出现的空白状态: 2.那么,Ajax 无刷新页面是运行在动态页面(.PHP)?还是静态页面(.html/.htm/.shtml)?答案是:静态页面: 3.实现原理

关于分页SQL的小总结

findPage 和findPageTotal条件分页中的条件 较为复杂点的关联查询 有取别名的 <select id="findPage" resultMap="MinOrderInfo" parameterType="map"> SELECT o.*,w.name buyName,w.MOBILE buyMobile,aa.name sellName,aa.MOBILE sellMobile,rs.CAR_BRAND_NAME c

webform:分页组合查询

一个简单的分页组合查询页面 /// <summary> /// 查询方法 /// </summary> /// <param name="tsql">SQL语句</param> /// <param name="hh">哈希表</param> /// <returns></returns> public List<Goods> Select(string un

TODO:数据库优化之分页

本文的例子是以MongoDB数据库为准,其它数据库各位也可以举一反三进行优化. 在MongoDB中分页使用 a.skip(n)跳过前n个匹配的文档: b.limit(m)返回m个结果,要是匹配的结果不到m个,则返回匹配数据量的结果,m是指定上限数量,而不是下限数量: c.sort({"name": 1,"address":-1}),1表示升序,-1表示降序. 使用skip跳过少量的文档还可以.但是数据量非常多的话,skip就会变得非常慢,每个数据库都会有这种情况,所

WebForm 分页与组合查询

1.封装实体类 2.写查询方法 //SubjectData类 public List<Subject> Select(string name) { List<Subject> list = new List<Subject>(); cmd.CommandText = "select *from Subject where SubjectName like @a "; cmd.Parameters.Clear(); cmd.Parameters.Add

easymall项目的商品删除,前台商品分页,商品详情,购物车模块

简单的挑选一下昨天所学的重点知识模块,以备后续的复习 一.购物车模块1.1购物车两种实现的区别:!!!!!!!! 用session保存  缺点:浏览器关闭,session失效时保存在session中购物信息将会消失  后续优化,将购买的信息除了保存在session中以外,还要将购物的信息保存在cookie中,这样  就解决了浏览器关闭购买商品信息丢失的问题(但是解决不了跟换电脑信息丢失的问题)  优点:不用操作数据库,可以减少数据库访问压力 数据库中:  缺点:只用登录的用户才能添加购物车