[String non può essere convertito in Integer] quando chiamo l'API lastest.json

Quando chiamo 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
Penso si possa risolvere con:

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

Questa è una richiesta di funzionalità, per_page non fa parte della nostra API (non è utilizzata affatto dal client). Questo non risolverebbe completamente il problema poiché per_page dovrebbe avere un limite massimo di, diciamo, 100-200.

C’è un motivo specifico per cui stai cercando di sovrascrivere le dimensioni della pagina?

2 Mi Piace

Sì, abbiamo una pagina cliente per ottenere gli argomenti con flusso a cascata.
Certo, penso che questa sia una richiesta di funzionalità.
Possiamo usare il valore predefinito di per_page e rimuovere la query per_page.

1 Mi Piace