限制 json 个结果的数量 - Rails API
Limit number of json results - Rails API
我正在创建 Rails API,当我收到对 mywebsite.com/posts/all
的请求时,它会向我显示所有 post 数据。我正在尝试 mywebsite.com/posts/all?limit=20
来显示 20 个结果或其他一些数字。 rails有什么方法可以实现?
简单的方法是
@posts = Post.limit(params[:limit])
但您也可以使用 will_paginate gem
限制将不起作用,如果您每次调用此方法,它将 return 只有最后 20 条记录,
使用分页实现此结果的最佳方法,在这里您可以限制每个请求命中时传递的记录数
您可以使用 gem 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 在下面传递参数 ass
GET /v1/posts?page=1&per_page=10
更改控制器中的值
@posts = Post.paginate(page: params[:page], per_page: params[:per_page])
我正在创建 Rails API,当我收到对 mywebsite.com/posts/all
的请求时,它会向我显示所有 post 数据。我正在尝试 mywebsite.com/posts/all?limit=20
来显示 20 个结果或其他一些数字。 rails有什么方法可以实现?
简单的方法是
@posts = Post.limit(params[:limit])
但您也可以使用 will_paginate gem
限制将不起作用,如果您每次调用此方法,它将 return 只有最后 20 条记录, 使用分页实现此结果的最佳方法,在这里您可以限制每个请求命中时传递的记录数
您可以使用 gem 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 在下面传递参数 ass
GET /v1/posts?page=1&per_page=10
更改控制器中的值
@posts = Post.paginate(page: params[:page], per_page: params[:per_page])