`
sayid2008
  • 浏览: 26675 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

宝典:第二式 2.0之分页 will_paginate

阅读更多
Rails分页plugin之will_paginate
搜索结果的分页显示是一个常用功能,实现方式有很多中,rails也内建了对分页的支持,但是rails2.0将去掉分页组件,将分页功能交给plugin去实现,这里通过一个简单的例子展示如何使用最流行的rails分页plugin -- will_paginate.

1.安装will_paginate,编写分页代码
安装:

ruby script\plugin install svn://errtheblog.com/svn/plugins/will_paginate安装成功后,开始编写分页代码

修改products_controller.rb,找到index方法
    @products = Product.paginate  :page => params[:page], 
                                  :per_page => 5

保存加入翻页,修改app/view/products/index.rhtml,在最后加入一行
<%= will_paginate @products %>

写好后打开页面即可看到看到现在显示前5个产品了和翻页了,试着点击next,previous进行翻页
<%= will_paginate @products,:prev_label=> '上一页',:next_label=> '下一页' %>
可定义上下翻页显示

4.加入搜索
在index.rhtml适当位置加入:
<% form_tag products_path, :method => 'get' do %>
  <p>
    <%= text_field_tag :search, params[:search] %>
    <%= submit_tag "Search", :name => nil %>
  </p>
<% end %>

这里注意,:method => 'get'必须指定, submit_tag的:name属性设为nil,避免在url中出现不必要的内容

将products_controller.rb的index方法修改为
   @products = Product.paginate  :page => params[:page], 
                                  :per_page => 5,
                                  :conditions => ["name like ?", "%#{params[:search]}%"]
注意在加入搜索条件时的写法,这样可以避免sql注入,提高安全性

试着进行搜索,可以看到搜索结果很好的进行了分页.
在此还提供一些分页统计信息
统计信息:
共<%=@products.total_entries%>条, 共<%=@products.page_count %>页,当前第<%= @products.current_page%>页.
分享到:
评论

相关推荐

    will_paginate分页插件

    **will_paginate分页插件详解** 在Web开发中,数据分页是一项常见的需求,它可以帮助用户更有效地浏览大量信息,提高用户体验。Rails框架中,`will_paginate`是一个非常流行且强大的分页插件,它简洁易用,功能强大...

    will_paginate 2.2.2

    `will_paginate`是Rails框架中非常流行的一个分页插件,版本2.2.2是它的一个历史版本。在本文中,我们将深入探讨`will_paginate`的使用方法、功能特性以及它如何与Rails集成,帮助提升Web应用的性能和用户体验。 一...

    will_paginate-bootstrap, 将 Twitter Bootstrap 分页组件与will_paginate集成.zip

    will_paginate-bootstrap, 将 Twitter Bootstrap 分页组件与will_paginate集成 will_paginate-bootstrap不再维护我不再使用 Bootstrap 来使用 Rails,所以不幸的是,我不再接受请求请求或者维护这个库。 为了发布你...

    will_paginate插件下载

    总结,will_paginate是Rails开发中不可或缺的工具之一,它简化了数据分页的实现,提升了代码的可读性和维护性。通过理解并熟练掌握will_paginate的使用,开发者可以更高效地处理大数据量的Web应用。

    scaffolding+will_paginate+提供will_paginate下载

    而`will_paginate`则是一个非常流行的分页库,它与`scaffolding`结合使用,能够为你的Rails应用添加优雅的分页功能。 `will_paginate`库由Matias Berezin创建,它的设计简洁且易于使用。它不仅提供了分页的基本功能...

    will_paginate v2.3.11

    《will_paginate v2.3.11:Rails分页插件详解》 在Web开发中,处理大量的数据是常见的需求,特别是在使用Ruby on Rails框架时。为了优化用户体验,提高页面加载速度,分页功能显得尤为重要。这时,will_paginate...

    will_paginate 2.1.0

    2. **灵活的配置**:`will_paginate` 允许开发者自定义分页参数,如默认每页记录数,以及如何处理分页链接的样式和结构。 3. **与ActiveRecord集成**:`will_paginate` 无缝集成于 ActiveRecord,这意味着你可以...

    will_paginate_endless_scroll_example:如何使用 will_paginate gem 创建无限滚动的演示

    will_paginate 带无限滚动示例应用程序 使用gem 'will_paginate', '~&gt; 3.0.7'实现无限/无限滚动的工作 Rails CRUD 应用程序示例。 gem 'faker'被用来为项目gem 'faker'虚假数据。 演示 现场演示: : 在本地开发中...

    will_paginate:用于Rails,Sinatra,Merb,DataMapper等的分页库

    will_paginate will_paginate是一个分页库,与Ruby on Rails,Sinatra,Hanami :: View,Merb,DataMapper和Sequel集成。 安装: ## Gemfile for Rails 3+, Sinatra, and Merbgem 'will_paginate' , '~&gt; 3.1.0' 有关...

    will_paginate-bootstrap4:钩入will_paginate以格式化html以匹配Twitter Bootstrap 4样式

    Rails Engine扩展了样式以匹配Twitter的 4工具包中的分页样式约定。 安装 添加到您的Gemfile: gem 'will_paginate-bootstrap4' 用法 &lt;&#37;= will_paginate @clients, renderer: WillPaginate::ActionView::...

    WillPaginateExample:Ruby on Rails的Will_Paginate示例

    `Will_Paginate` 是一个非常流行的Ruby on Rails插件,用于处理大型数据集的分页。它提供了简洁、灵活的API,使得在Rails应用中实现数据库查询结果的分页变得简单易行。在本篇文章中,我们将深入探讨`Will_Paginate`...

    rails 2.0.2 分页 需另外下载插件

    为了实现分页,开发者通常需要安装并使用第三方插件,比如"will_paginate"。这个插件允许你在Rails应用中轻松地对数据进行分页显示,提高用户体验并减轻服务器压力。 **1. will_paginate插件介绍** `will_paginate`...

    Ruby-willpaginate一个分页库可与RubyonRailsSinatraMerbDataMapper和Sequel集成

    Ruby-on-Rails、Sinatra、Merb、DataMapper 和 Sequel 这些都是 Ruby 开发领域中的关键组件,而 `will_paginate` 是一个在这些框架中广泛使用的分页库。它提供了简单、灵活的接口,帮助开发者在处理大量数据时进行...

    ruby will_paginate的用法

    新版本的will_paginate已经抛弃了这样的做法,转而使用gem的方式,本文通过建立一个名为foobar的应用来了解一下will_paginate的用法。 ============================== C:\&gt;rails foobar -d mysql C:\&gt;cd foobar C:\...

    ruby on rails 常用插件下载

    在这个特定的场景中,我们关注的是一个名为 "will_paginate" 的插件,它是 Ruby on Rails 中用于实现高效、灵活分页功能的常用工具。 `will_paginate` 插件为 Rails 应用程序提供了一种简单而优雅的方式来处理大量...

    适用于.net framework2.0对集合分页

    1. **Linq-to-Objects分页**:虽然.NET Framework 2.0不包含Linq,但可以通过引入第三方库,如LINQBridge,实现类似的功能。使用Linq,你可以编写如下的分页查询: ```csharp using System.Linq; public static ...

    resume 用Ruby技术实现的search 分页的例子

    Rails提供了`will_paginate`或`kaminari`这样的插件来简化分页实现。以`will_paginate`为例,首先添加到Gemfile并安装: ```ruby gem 'will_paginate' gem 'will_paginate-bootstrap' # 如果你想使用Bootstrap样式 ...

    Python库 | mkdocs_paginate_plugin-0.0.3-py3-none-any.whl

    资源分类:Python库 所属语言:Python 使用前提:需要解压 资源全名:mkdocs_paginate_plugin-0.0.3-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

Global site tag (gtag.js) - Google Analytics