[原]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.项目源码