J'ai installé gem Kaminari et ont le code suivant dans mon contrôleur:API Rails 5 utilisant Kaminari - comment fournir les données de comptage de pages au client?
# 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
Cette tente d'ajouter une section « méta » pour ma réponse avec les données dont j'ai besoin dans le client pour construire les commandes de pagination.
Le problème est que si je fais une demande (par exemple en utilisant Postman):
localhost: 3000/clients page = 1
Les données méta n'est pas ajouté à la réponse. FYI J'ai basé ce code off que j'ai utilisé dans EmberJS en utilisant JSONAPI, mais maintenant j'utilise Angular2, donc je ne sais pas comment obtenir ces données 'méta' ajoutées à la réponse.
Merci pour une réponse si rapide, fonctionne parfaitement ... si simple quand vous savez comment, lol :) – rmcsharry
variable 'pageCount' et le calcul est inutile, remplacez par @ customers.total_pages. La méthode '.total_pages' est [fournie par kaminari] (https://github.com/kaminari/kaminari#query-basics) – Thomas