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
分享到:
相关推荐
在本项目 "rails-bootstrap-modals" 中,我们将探讨如何在 Rails 4 应用中整合 Bootstrap 的模态功能。 模态(Modal)是 Bootstrap 提供的一种功能,它可以创建弹出窗口,用户可以在不离开当前页面的情况下查看或...
gem 'rails-bootstrap-toggle-buttons' 然后执行: $ bundle 或将其自己安装为: $ gem install rails-bootstrap-toggle-buttons 用法 只需添加到您的application.css : *= require bootstrap-toggle-buttons...
Bootstrap::Modal::Rails 为默认类提供的 Rails Asset Gem安装将这些行添加到应用程序的Gemfile : ### Rails 3 or previousgroup :assets do gem 'bootstrap-modal-rails'end### Rails 4gem 'bootstrap-modal-rails...
更少的Rails Bootstrap Datepicker less-rails-bootstrap-datepicker项目使的源LESS文件,已编译CSS和JavaScript文件在Rails资产管道中可用。 好处: 为资产命名空间以避免资产冲突。 顶层要求获取所有样式表或...
Bootstrap-Sass是基于Twitter Bootstrap框架的一个精简版,专为Ruby on Rails项目设计。它将Bootstrap的核心CSS和JavaScript组件打包成一个易于Rails项目使用的Gem。Bootstrap是一个流行的前端开发框架,提供了一套...
Bootstrap::Duallistbox::Rails 资产 - 请参阅详细信息 添加到 application.js 和 application.css 类似 //= require bootstrap-duallistbox 安装 将此行添加到应用程序的 Gemfile 中: gem 'bootstrap-dual...
Rails引导导航栏 在Rails应用中轻松生成导航栏安装将此行添加到您的应用程序的Gemfile中: gem 'rails_bootstrap_navbar'然后执行: $ bundle或自己安装为: $ gem install rails_bootstrap_navbar要求来自Bootstrap...
Rails-Bootstrap-Devise样板 这是启动Rails 6应用程序/样板,您可以在其中避免添加引导程序并从头开始设计gem。 这个捷径将鼓励您直接开始主要任务。 您将在此启动Rails应用程序中找到以下项目: 使用Webpacker...
gem 'Bootstrap-Image-Gallery-rails' 然后执行: $ bundle 或将其自己安装为: $ gem install Bootstrap-Image-Gallery-rails 用法 在css / js中添加“ require”。 CSS: app/assets/stylesheets/...
Bootstrap Sass是Twitter开发的一款流行的前端框架Bootstrap的Sass版本,专为Ruby on Rails开发者设计。Sass(Syntactically Awesome Style Sheets)是一种强大的CSS预处理器,它允许开发者使用变量、嵌套规则、混合...
gem "rails-bootstrap-helpers" 从Bootstrap手动包含必要的样式表和JavaScript文件。 尽管除了Rails之外,它与其他gem没有直接的依赖关系,但是有必要以某种方式包含Bootstrap才能使该gem有用。 对于标准...
twitter-bootstrap-rails-confirm, 使用 Twitter Bootstrap 确认对话框 :: bootstrap:: bootstrap:: rails::这里 gem 添加一些javascript来更改 Boostrap 2.3和 4的数据确认处理的默认行为。正常确认对话框显示带有...
twitter-bootstrap-rails, 用于 Rails 5 4.x 资产管道的Twitter Bootstrap 用于 Rails 5和 Rails 4资产管道的 Twitter BootstrapBootstrap 是 Twitter的工具包,旨在开发网络应用程序和站点的kickstart 。...
bootstrap-material-design-rails 提供 Bootstrap Material Design 插件作为 Rails 引擎以在资产管道中使用它。 只需在每个清单中的 Bootstrap CSS 和 Bootstrap JavaScript 之后包含这个 gem。 安装 将此行添加到...
gem 'ace-rails-ap' gem 'bootstrap-markdown-editor-rails' 您还需要Bootstrap 3,jQuery。 用法 需要带有链轮CSS: /*= require bootstrap-markdown-editor */ 链轮也需要JS: //= require ace-rails-ap //= ...
此示例显示如何使用 JS 视图在 Rails 中的 Bootstrap 模式中显示表单。 此解决方案背后的关键思想是,您可以创建路由,而不是呈现 HTML 或将用户重定向到另一个操作,而是返回一些在客户端上执行的 JS 代码。 让...
rails-dev-box, 面向 Ruby on Rails 核心开发的虚拟机 用于 Ruby on Rails 核心开发的虚拟机简介注意:这个虚拟机不是为 Rails 应用程序开发而设计的,只是为。 这个项目自动设置开发环境,以便在 Ruby on Rails ...
【标题】"rails-bootstrap-oauth:Rails 4.2 入门应用" 是一个基于 Ruby on Rails 框架的项目,旨在为初学者提供一个使用 Rails 4.2 版本开发应用的基础教程。该项目可能包含如何集成 Bootstrap 和 OAuth 认证的实践...
bootstrap-generators, Bootstrap 生成器为 Rails 提供 Twitter Bootstrap 生成器 Bootstrap 生成器 bootstrap生成器为 Rails 4 ( 支持的Rails> = 3.1 ) 提供 Twitter Bootstrap 生成器。 Bootstrap 是 Twitter的...