2013-10-29 15 views

Antwort

35

Es gibt ein paar Dinge, die Sie tun können.

Standardmäßig lädt Active Admin Zuordnungen als Dropdown-Filter auf der Indexseite. Wenn diese Filter nicht verwendet werden, hilft es, sie zu entfernen, da sie jeden Datensatz dieses Modells instanziieren, um das Dropdown zu erstellen.

Wenn Ihre Indexseite über Spalten verfügt, die von den zugehörigen Datensätzen abhängen, können Sie diese sehr schnell laden.

ActiveAdmin.register Post do 
    controller do 
    def scoped_collection 
     super.includes :author, :publisher 
    end 
    end 
end 

Dies gilt nicht wirklich, da Sie nur 5000 Datensätze haben, aber wenn Sie zu dem Punkt, wo auch ein DB COUNT des Tisches eine lange Zeit in Anspruch nimmt, können Sie die Zählung in den Boden deaktivieren rechts neben der Indexseite. (Diese Funktion wurde in 0.6.1 hinzugefügt)

ActiveAdmin.register Post do 
    index pagination_total: false 
end 
+3

Vielen Dank! Das ist eine großartige Antwort! – itdxer

+0

Wäre es viel schneller, den Filter auf etwas wie 'filter: association, as:: select, collection: -> {Association.pluck: id}' ... zu setzen, anstatt ein Ruby-Objekt für jede 'association' zu instanziieren Zeile wie ist die Standardeinstellung, wenn Sie "filter: association" unbedingt? – mecampbellsoup

+0

Ja, das würde mir sehr helfen. Aber du solltest auch einen menschenfreundlichen Namen zurückgeben. Zum Beispiel: 'Author.pluck (: name,: id)' – seanlinsley

Verwandte Themen