Ruby on rails 使用Kaminari的Rails 5 API-如何向客户端提供页面计数数据?
我已安装Kaminari gem,控制器中有以下代码:Ruby on rails 使用Kaminari的Rails 5 API-如何向客户端提供页面计数数据?,ruby-on-rails,pagination,kaminari,Ruby On Rails,Pagination,Kaminari,我已安装Kaminari gem,控制器中有以下代码: # 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 =
# 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
这将尝试向我的响应中添加一个“meta”部分,其中包含我在客户端构建分页控件所需的数据
问题是如果我提出请求(如使用邮递员):
本地主机:3000/客户?页面=1
元数据不会添加到响应中
仅供参考,我使用JSONAPI在EmberJS中使用的这段非代码,但现在我使用的是Angular2,因此不确定如何将这些“元数据”添加到响应中。您应该这样写
render json: { customers: @customers, meta: { total: pageCount, records: Customer.count } }
在您的示例中,您只需将
@customers
添加到json响应中,而元部件则转到其他地方(而不是响应)。因此,要在json响应中包含元节,请确保它位于正确的位置pageCount
变量,并且不需要计算,请替换为@customers.total\u页面。.total_pages
方法是