Schienen auto-convert query-string params Ganzzahlen
Ich versuche zu implementieren ist eine form der Paginierung mit limit und offset query-Parameter. Gibt es eine Möglichkeit, um sicherzustellen, dass die Werte Ganzzahlen sind, sonst werfen Sie einen 400 Fehler, vielleicht mithilfe strong_parameters? Es scheint, wie die Art von Sache, die gebaut werden, um Schienen, aber ich kann nichts finden.
Konnte ich nur manuell konvertieren Sie die Abfrage-Parameter, aber ich würde lieber etwas ein bisschen mehr kugelsicher, wenn möglich.
- warum nicht will_paginate oder kamanari für den Seitenumbruch?
- Ich würde es vorziehen, zu verwenden, limit/offset-über die Seitenzahlen, und dies ist in Erster Linie eine JSON-api, das scheint nicht unterstützt zu werden sowie in beiden Juwel
- die Edelsteine intern konvertieren per_page/page_number zu limit/offset sowieso. Daher der Vorschlag. JSon-API? vergessen, dass kleine detail aus der Frage.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie der Kommentator @Lackmus oben genannten, ich würde empfehlen, mit einem Ruby-gem wie kaminari zu verwalten Paginierung.
Aber wenn Sie sind auf Ihre eigenen Rollen, und Sie sind besorgt über die input-Bereinigung, die einfachste Methode, um sicherzustellen, dass das "offset" und "limit" Parameter ganzzahlig sind, könnte ein filter im controller:
Beachten Sie, dass Zeichenfolgen wie
"foo"
umgewandelt werden0
.before_filter
syntax wurden als veraltet markiert in Rails 5.0 und entfernt in Rails 5.1 : Verwenden Siebefore_action
statt.Im Grunde müssen Sie konvertieren Sie Ihre Parameter manuell einstellen. Idealerweise abstract diese in einer controller-Methode zu Ihrem eigentlichen Methode reinigen.