我已经安装了 Kaminari gem 并在我的 Controller 中包含以下代码:
# GET /customers
def index
if params[:page]
@customers = Customer.page(params[:page]).per(params[:per_page])
pageCount = (Customer.count / params[:per_page].to_f).ceil
else
@customers = Customer.order('updated_at DESC')
pageCount = 1
end
render json: @customers, meta: { total: pageCount, records: Customer.count }
end
这会尝试在我的响应中添加一个“元”部分,其中包含客户端中构建分页控件所需的数据。
问题是,如果我发出请求(例如使用 Postman):
本地主机:3000/客户?page=1
元数据不会添加到响应中。
仅供引用,我基于使用 JSONAPI 在 EmberJS 中使用的代码,但现在我使用 Angular2,所以不确定如何将此“元”数据添加到响应中。
最佳答案
你应该这样写
render json: { customers: @customers, meta: { total: pageCount, records: Customer.count } }
在您的示例中,您仅将 @customers
添加到 json 响应中,而元部分则转到其他地方(而不是响应)。因此,要将元部分包含在 json 响应中,请确保它位于正确的位置
关于ruby-on-rails - 使用 Kaminari 的 Rails 5 API - 如何向客户端提供页数数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42190503/