`
platoon
  • 浏览: 41056 次
  • 来自: ...
社区版块
存档分类
最新评论

Rails基于REST分页

阅读更多
例子是对产品实现分页


使用 http://localhost:3000/products/page/:page/pre_page/:pre_page 格式来实现分页

:page 是第几页
:pre_page 是每一页有多少条记录

在 config/routes.rb 中加入
map.connect 'products/page/:page/pre_page/:pre_page', :controller => 'products', :action => 'page'

在 app/controllers/products_controller.rb 中加入方法
def page
  @page = params[:page]
  @pre_page = params[:pre_page]
 
  # 处理程序
end

现在可以用 http://localhost:3000/products/page/1/pre_page/10 来实现对产品第一页(每页10条记录)访问。



如果每个都加入 pre_page 参数会很繁琐,就在 config/routes.rb 中加入多一条
map.connect 'products/page/:page', :controller => 'products', :action => 'page'

在控制器中要把处理 @pre_page 的改一下,如下:
def page
  @page = params[:page]
  @pre_page = params[:pre_page] || 5
 
  # 处理程序
end

这样我们就可以用 http://localhost:3000/products/page/1 来对产品的第一页进行访问(每页5条记录)。


参考
http://oldmoe.blogspot.com/2008/01/restful-pagination-in-rails.html
分享到:
评论

相关推荐

    ruby on rails API

    Ruby on Rails(简称Rails)是一个基于Ruby语言的开源Web应用程序框架,它遵循MVC(Model-View-Controller)架构模式,极大地简化了Web应用开发。API(Application Programming Interface)是Rails提供的一种允许...

    flex on rails文档

    这意味着 **Rails** 控制器不仅支持传统的 HTML 视图,还支持基于 REST 的数据交换。 具体的步骤包括: 1. 用户通过浏览器访问特定的 URL。 2. 请求通过互联网到达运行 **Rails** 的 Web 服务器。 3. Web 服务器将...

    使用rails6开发纯后端API项目.zip

    REST(Representational State Transfer)是一种网络应用程序的设计风格和开发方式,基于HTTP协议,强调资源的表述和状态转移。Rails的路由系统支持RESTful模式,如`resources :users`会自动创建CRUD操作的路由。 ...

    jsgrid-rails:带有Ruby on Rails REST服务的jsgrid的示例项目

    `jsGrid` 是一个基于jQuery的数据网格插件,提供了一种灵活的方式来在前端展示和编辑数据。它的主要特点包括: - **轻量级**:jsGrid的源码非常小巧,适合各种规模的项目。 - **高度可配置**:你可以自定义列、过滤...

    Rails缓存架构设计

    - 采用了基于REST的架构风格来编写Rails应用,实现了良好的性能表现。 #### 六、缓存工具与插件 - **ActiveRecord缓存**:Rails内置的ORM框架ActiveRecord提供了强大的缓存支持,包括对象缓存、查询缓存等。 - **...

    Rails2.0资料

    - **默认会话存储方式**:Rails 2.0默认采用基于Cookie的会话存储方式,使得会话管理变得更加简单。 ##### 3.4 嵌套布局 - **部分布局**:Rails 2.0支持嵌套布局,允许在一个布局中包含另一个布局,为页面设计提供...

    Web开发敏捷之道-应用Rails进行敏捷Web开发-第三版.rar

    相比第2版中的内容,Rails 2增加了REST、资源、轻量级web service等新特性。本书涵盖了这些全新的内容,因此能更好地体现出Rails框架的发展现状。 整体而言,全书既有直观的实例,又有深入的分析,同时还涵盖了web...

    rails-pc-hardware-store:基于Ruby on Rails构建的示例在线PC硬件商店

    rails-pc-五金店 该项目是作为大学的“脚本语言”课程分配的 待办事项 至少10种桌子型号(重要) 在Heroku上部署 种子数据库 登录/注销/注册/记住我已实现 必须具有管理员权限的用户(将新产品添加到数据库) ...

    Rails-APIs:Rails API演示http谓词的工作原理,使用devise gem进行身份验证,考拉FB身份验证,使用kaminari gem进行分页等

    添加Kaminari进行分页 分页的一些基本查询 # get records according to pages Post . page ( page_no ) # default limit is 11 and offset is 25 post = Post . page ( 2 ) . per ( 5 ) # per is used for set ...

    smooth_operator:Ruby gem,它模仿ActiveRecord行为,但通过外部API进行。 它是ActiveResource的一种轻量级且灵活的替代方案,可以像您期望的那样响应REST API

    Rails4应用程序使用SmoothOperator :: Rails而不是ActiveRecord :: Base类列出/创建/编辑和销毁Padrino(又名Sinatra)应用程序中的博客文章。 这个微服务示例还将包含其他一些很酷的东西,例如: 并行请求; ...

    05-web开发系列图书27-33.doc

    REST(Representational State Transfer)是一种网络应用程序的设计风格和开发方式,基于HTTP协议,强调简洁、无状态和缓存的交互。使用REST定义Web服务,意味着通过HTTP方法(GET、POST、PUT、DELETE等)来操作资源...

    tasks-manager

    运行应用rails server路线rake routes 遵循REST约定任务/ api / v1 / tasks GET / =>:index GET /:id =>:显示POST / =>:创建补丁/:id =>:update 删除/:id =>:destroy标签/ api / v1 /标签GET / =>:index ...

    RubyOnRails做的博客

    Ruby on Rails(简称RoR)是一个基于Ruby编程语言的开源Web开发框架,它遵循MVC(Model-View-Controller)架构模式,旨在提高开发效率和代码的可读性。在这个"RubyOnRails做的博客"项目中,我们可以看到作者用RoR...

    rubanok:基于参数的转换DSL

    :open_book: 阅读简介文章: 典型用法是描述REST index操作的所有可能的收集操作,例如过滤,排序,搜索,分页等。 因此,代替: class CourseSessionController < ApplicationController def index @sessions =...

    star-api:所有这些星星都属于你

    明星API 类别:工具箱 简报网址: 演示:[Demo]( ) API端点: 依存关系 ...作为REST获取api的可用资源:星星,exo_planets,local_groups,开放星团,星座 分页查询 在/api/v1/search?q=处搜索端

    maru_blog_post_code:关于使用 maru 在 Elixir 中实现类似 Rest 的 Api 的博客文章的代码

    Maru是一款轻量级且强大的Web开发库,它提供了类似于Ruby on Rails的路由和参数处理功能,但更加简洁和灵活。 首先,让我们理解什么是Maru。Maru是由Elixir社区开发的一个HTTP服务器框架,它允许开发者以模块化的...

    java开源包1

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    java开源包11

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

    java开源包2

    GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...

Global site tag (gtag.js) - Google Analytics