rails自带的分页功能有限,加上will_paginate插件能够很强的增加功能
1.一对多的分页最简单:比如一个类目下很多文章,要显示气象学下的所有文章并20篇分为一页:
def show
@category =
Category.find(params[:id],:include=>:papers])
@papers=Paper.paginate_by_category_id
category.id,:page=>params [:page],:per_page=>20
end
在rhtml中只需要
<%= will_paginate @papers
%>
他自己带有很漂亮的分页css,当然要加进css文件。
2.多对多还没研究到,rails自带的paginate可以处理,
def show
@author = Author.find(params[:id],:include=>[:papers])
@paper_pages, @papers = paginate :paper,
:join=>"JOIN authors_papers on
(authors_papers.paper_id=papers.id and
authors_papers.author_id=#{@author.id})",:per_page=>20
end
<div
class="pagination">
<%= link_to '<<', { :page =>
@paper_pages.current.previous } if @paper_pages.current.previous
%>
<%= pagination_links(@paper_pages,:window_size=>5)
%>
<%= link_to '>>', { :page => @paper_pages.current.next
} if @paper_pages.current.next %>
</div>
这个效率肯定不高。等学会了will_paginate再来修改。
分享到:
相关推荐
在本文中,我们将深入探讨`will_paginate`的使用方法、功能特性以及它如何与Rails集成,帮助提升Web应用的性能和用户体验。 一、`will_paginate`简介 `will_paginate`是由Mislav Marohnić开发的,它为Ruby on ...
本文将深入探讨`will_paginate`的使用方法、核心概念以及其实现原理。 ### 一、安装与配置 在Rails项目中,我们可以通过以下命令安装`will_paginate`: ```bash gem install will_paginate ``` 然后,在`Gemfile...
will_paginate-bootstrap, 将 Twitter Bootstrap 分页组件与will_paginate集成 will_paginate-bootstrap不再维护我不再使用 Bootstrap 来使用 Rails,所以不幸的是,我不再接受请求请求或者维护这个库。 为了发布你...
而`will_paginate`则是一个非常流行的分页库,它与`scaffolding`结合使用,能够为你的Rails应用添加优雅的分页功能。 `will_paginate`库由Matias Berezin创建,它的设计简洁且易于使用。它不仅提供了分页的基本功能...
在本文中,我们将深入探讨will_paginate的安装、使用方法以及其核心概念,帮助开发者更好地理解和应用这个插件。 一、will_paginate的安装 在传统的安装方式中,开发者通常会通过RubyGems和Bundler来安装will_...
《will_paginate v2.3.11:Rails分页插件详解》 在Web开发中,处理大量的数据是常见的需求,特别是在使用Ruby on Rails框架时。为了优化用户体验,提高页面加载速度,分页功能显得尤为重要。这时,will_paginate...
3. **与ActiveRecord集成**:`will_paginate` 无缝集成于 ActiveRecord,这意味着你可以直接在查询链上使用 `paginate` 方法,如 `Post.where(status: 'published').paginate(page: params[:page])`。 4. **兼容性*...
cd will_paginate_endless_scroll_example 安装依赖: bundle install 迁移和种子数据库: bundle exec rake db:migrate db:seed 就是这样,它准备好了。 跑步: 像普通的 rails 应用程序一样运行: rails s ...
will_paginate will_paginate是一个分页库,与Ruby on Rails,Sinatra,Hanami :: View,Merb,...基本的will_paginate使用## perform a paginated query:@posts = Post . paginate ( page : params [ :page ]
gem 'will_paginate-bootstrap4' 用法 <%= will_paginate @clients, renderer: WillPaginate::ActionView::BootstrapLinkRenderer %> 以下选项可用(除了will_paginate中可用的选项之外): :list_classes ...
在本篇文章中,我们将深入探讨`Will_Paginate`的原理、安装、使用方法以及一些高级特性。 ### 1. 安装 要在Rails项目中使用`Will_Paginate`,首先需要通过`Gemfile`添加依赖: ```ruby gem 'will_paginate', '~> ...
新版本的will_paginate已经抛弃了这样的做法,转而使用gem的方式,本文通过建立一个名为foobar的应用来了解一下will_paginate的用法。 ============================== C:\>rails foobar -d mysql C:\>cd foobar C:\...
为了实现分页,开发者通常需要安装并使用第三方插件,比如"will_paginate"。这个插件允许你在Rails应用中轻松地对数据进行分页显示,提高用户体验并减轻服务器压力。 **1. will_paginate插件介绍** `will_paginate`...
使用 `will_paginate`,首先要在你的模型或查询中调用 `paginate` 方法,例如: ```ruby @posts = Post.order("created_at DESC").paginate(page: params[:page], per_page: 25) ``` 这段代码会返回当前页面的前25条...
Ruby-on-Rails、Sinatra、Merb、DataMapper 和 Sequel 这些都是 Ruby 开发领域中的关键组件,而 `will_paginate` 是一个在这些框架中广泛使用的分页库。它提供了简单、灵活的接口,帮助开发者在处理大量数据时进行...
will_paginate will_...基本will_paginate使用##执行分页查询:@posts = Post.paginate(page:params [:page])#或使用明确的“每页”限制:Post.paginate(page:params [:page],per_page :30)##呈现页面链接
视图中,使用`will_paginate`的辅助方法展示分页链接: ```erb <%= will_paginate @users, renderer: BootstrapPagination::Rails %> ``` 这将在页面底部生成Bootstrap风格的分页导航。 在实际项目中,可能还需要...
示例排序的应用程序您需要此应用程序的sqlite3。Linux sudo apt-get install sqlite3sudo apt-get install libsqlite3-devMac OSX brew install sqlite然后git clone git://github....