ruby-on-rails - 限制 json 结果的数量 - Rails API

标签 ruby-on-rails json rails-api

我正在创建 Rails API,当我收到对 mywebsite.com/posts/all 的请求时,它会显示所有发布数据。我正在尝试执行 mywebsite.com/posts/all?limit=20 以显示 20 个结果或其他一些结果。用rails有什么方法可以实现?

最佳答案

Limit 不起作用,如果你每次调用这个方法,它只会返回最后 20 条记录, 使用分页实现此结果的最佳方法,在这里您可以限制每个请求命中时传递的记录数

您可以使用gem will_paginate

在 Controller 中

@posts = Post.paginate(:page => params[:page], :per_page => 20)

在 View 中

<%= will_paginate @posts %>

有关 will_paginate 的信息 https://github.com/mislav/will_paginate/blob/master/README.md

如果你使用 API 在下面传递参数 ass

GET /v1/posts?page=1&per_page=10  

改变 Controller 中的值

@posts = Post.paginate(page: params[:page], per_page: params[:per_page])

关于ruby-on-rails - 限制 json 结果的数量 - Rails API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47107891/

相关文章:

javascript - 将 JSON 数据加载到 Bootstrap 模式中

ruby-on-rails-4.1 - 事件模型序列化器不渲染我的模型

ruby-on-rails - 具有多个模型和auth header 的devise_token_auth

ruby-on-rails - 为什么会有如此多的 gem 被淘汰,您如何处理依赖关系?

ios - Ruby on Rails - 使用移动客户端进行用户身份验证

ruby-on-rails - 回形针附件未对查询字符串使用正确的 updated_at 时间

ruby-on-rails - Rails + PostgreSQL : How to get products that have been ordered at least once + get the order # and the manager id

java - 在 Java 中将 JSON 转换为 List<List<String>>

javascript - 在 Ajax 调用中解析返回数据时出现 token 错误