L'ultima volta che ho avuto il problema con active_admin. Nelle tabelle in cui ho più di 5000 righe di dati, funziona molto lentamente. Come posso ottimizzarlo? Forse qualcuno conosce alcuni plugin di caricamento asincrono per questo modulo?Come ottimizzare active_admin
15
A
risposta
35
Ci sono un paio di cose che puoi fare.
Per impostazione predefinita, Active Admin carica le associazioni come filtri a discesa nella pagina dell'indice. Se questi filtri non vengono utilizzati, è utile rimuoverli poiché creano un'istanza di ogni record di quel modello per creare il menu a discesa.
ActiveAdmin.register Post do
remove_filter :categories
end
Se la pagina dell'indice contiene colonne che dipendono dai record associati, è utile caricarle in modo ingombrante.
ActiveAdmin.register Post do
controller do
def scoped_collection
super.includes :author, :publisher
end
end
end
Questo in realtà non applicabile in quanto hai solo 5000 record, ma se si arriva al punto in cui anche un DB COUNT
del tavolo richiede molto tempo, si potrebbe desiderare di disabilitare il conteggio sul fondo destra della pagina indice. (questa funzionalità è stata aggiunta in 0.6.1)
ActiveAdmin.register Post do
index pagination_total: false
end
Problemi correlati
- 1. come disabilitare l'azione batch di active_admin?
- 2. Paperclip + Active_admin + Rails 3.0.10 più immagini
- 3. Come ottimizzare un ciclo?
- 4. come ottimizzare mapred.reduce.parallel.copies?
- 5. Come posso ottimizzare questo codice?
- 6. Come ottimizzare questo in MySQL?
- 7. Come ottimizzare un JPA Query
- 8. Come ottimizzare una query nidificata?
- 9. Come posso ottimizzare questa subquery come join?
- 10. Rails 3 - Active_admin può utilizzare un modello utente esistente?
- 11. Quanto dovrei ottimizzare?
- 12. Ottimizzare APC Caching
- 13. Come utilizzare l'output cachegrind per ottimizzare l'applicazione
- 14. Come ottimizzare i modelli in Zend Framework?
- 15. Come ottimizzare l'assegnazione enum in C#
- 16. Come ottimizzare le prestazioni dell'app hsqldb/hibernate
- 17. Come ottimizzare un JFrame tramite il codice?
- 18. Come ottimizzare le dimensioni del file PDF?
- 19. Come ottimizzare la scalabilità dell'app Play Framework?
- 20. Come ottimizzare (minimizzare) chiamate jQuery AJAX
- 21. Come ottimizzare la rete su iOS?
- 22. Come ottimizzare le richieste Ajax in Jquery?
- 23. Come ottimizzare i programmi F # in generale
- 24. Come ottimizzare questo pezzo di codice Racket?
- 25. Come ottimizzare query lente con molte giunture
- 26. Requirejs ottimizzare strumento esclude cartelle
- 27. ottimizzare un funzione in Javascript
- 28. Ottimizzare doppio loop in pitone
- 29. Ottimizzare query MySQL usando indici
- 30. Ottimizzare .png immagini con PIL
Grazie! Questa è un'ottima risposta! – itdxer
Sarebbe molto più veloce impostare il filtro su qualcosa come 'filter: association, come:: select, collection: -> {Association.pluck: id}' ... in opposizione all'istanziazione di un oggetto Ruby per ogni 'associazione' row as è l'impostazione predefinita quando si 'filter: association' incondizionatamente? – mecampbellsoup
Sì, sarebbe di grande aiuto. Ma avresti bisogno di essere sicuro di restituire anche un nome umano. Ad esempio: 'Author.pluck (: name,: id)' – seanlinsley