限制 json 结果的数量 - Rails API



我正在创建Rails API,当我收到mywebsite.com/posts/all请求时,它向我显示了所有帖子数据。我正在尝试mywebsite.com/posts/all?limit=20显示 20 个结果或其他数字。使用导轨实现它的方法是什么?

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

您可以使用宝石will_paginate

在控制器中

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

在视图中

<%= will_paginate @posts %>

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

如果您使用的是下面的 API 传递参数

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

更改控制器中的值

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

简单的方法是

@posts = Post.limit(params[:limit])

但你也可以使用will_paginate宝石

最新更新