/ / Impaginazione inversa con Kaminari senza paginate_array? - rubino su rotaia, rubino, impaginazione, kaminari

Impaginazione inversa con Kaminari senza paginate_array? - rubino su rotaia, rubino, impaginazione, kaminari

Sono un principiante quando si tratta di rubare su rotaie, nel mio progetto sto usando la gemma "kaminari" per impaginare la raccolta di immagini. Vorrei invertire l'impaginazione originale così anziché:

< , 1, 2, 3, 4 ... 10, >

* dove i numeri sono numeri di pagina e le frecce mostrano anteprima e successiva per la visualizzazione di impaginazione

Voglio ottenere:

<, 10, 9, 8, 7 ... 1, >

Il mio problema è che non riesco a trovare alcun lavorosoluzione e quindi ti chiedo aiuto per i ragazzi. Vorrei evitare l'uso di paginate_array per motivi di ottimizzazione. C'è un modo per capovolgere semplicemente l'impaginazione da destra a sinistra? È qualcosa di simile anche con kaminari o dovrei passare a qualcos'altro per l'impaginazione?

risposte:

0 per risposta № 1

Puoi usare sql order, limit, offset e rubino reverse alla fine Cerco di implementare alcuni esempi ma ho bisogno di test.

da qualche parte nel modello hai metodo quale pagina di restituzione:

def users(page)
# find right offset
offset = if page.to_i == 1
# if page number 1 offset be 0
0
elsif page.to_i == 2
# if page number 2 offset be 10
10
else
# in another case offset must be page * 10
page.to_i.pred * 10
end
# order :desc and reverse
users.limit(10).offset(offset).order(created_at: :desc).reverse
end

limit 10 offset 0 è come page(1).per(10) o limit 10 offset 10 è come page(2).per(10). Prova a risolvere questo problema.