2016-08-01 22 views
0

Ich möchte einige Statistiken über eine ActiveAdmin-Indexseite anzeigen.ActiveAdmin: Zugriff auf das Ergebnis der Filter

Nehmen wir an, ich habe ein Automodell mit einem Farbattribut und einem Herstellungsjahr. Oben auf meiner Indexseite möchte ich die Anzahl der roten Autos anzeigen. Aber ich möchte, dass diese Zahl die Verwendung von Filtern widerspiegelt; Wenn ich mich dazu entscheide, nur Autos zu zeigen, die 1995 gebaut wurden, möchte ich, dass sich die Anzahl der roten Autos entsprechend ändert.

Wie kann ich auf die gefilterte Liste zugreifen? Ich vermutete die Existenz einer Variablen, die das Ergebnis der Filteraktion enthält, aber ich kann sie nicht finden.

+0

http://stackoverflow.com/questions/26215985/activeadmin-access-filtered-collection – chumakoff

Antwort

0

Es stellt sich heraus, dass Sie die Variable collection überall in Ihrem Index verwenden können.

So etwas wie dies funktioniert perfekt und spiegelt den Zustand von Filtern:

index do 
    div "Total: #{collection.count}" 
    column :attribute1 
    column :attribute2 
    actions 
end 

Ein anderer Weg ist ransack zu verwenden, mit diesem:

ModelName.ransack(params[:q]).result 

Aber es hat eine nutzlose Abfrage, Call noch mal grundlos durchwühlen.

Inspiration gefunden in this question.