[La cadena no se puede convertir a un entero] cuando llamo a la API lastest.json

Cuando llamo a latest.json?page=0&per_page=10&foo=bar

     # TypeError:
     #   String can't be coerced into Integer
     #   ./lib/topic_query.rb:729:in `*'`

https://github.dev/discourse/discourse/blob/0832cad803bb429a49595eab822a7c77dfa2088b/lib/topic_query.rb#L732-L737
Creo que se puede resolver con:

if options[:page]
  offset = options[:page].to_i * options[:per_page].to_i
  result = result.offset(offset) if offset > 0
end

Se trata de una solicitud de características, per_page no forma parte de nuestra API (no es utilizada en absoluto por el cliente). Esto no resolvería completamente el problema, ya que per_page necesitaría venir con un límite superior, digamos un máximo de 100-200.

¿Hay alguna razón específica por la que buscas anular los tamaños de página?

2 Me gusta

Sí, tenemos una página de cliente para obtener los temas con flujo de cascada.
Claro, creo que esta es una solicitud de funcionalidad.
Podemos usar el valor predeterminado de per_page y eliminar la consulta per_page.

1 me gusta