我正在创建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宝石