2013-04-02 7 views
8

Ich habe gehört, und hat viele verschiedene Modelle zwischen zwei Modellen. Standardmäßig verwendet activeadmin eine Eingabe für sie. Aber in meinem Fall ist es unmöglich - weil ich tausende Artikel habe. Wenn ich ändern FilterNach Zeichenfolge filtern statt in ActiveAdmin auswählen

filter :item, as: :string 

versucht, heißt es, dass

undefined method `item_id_contains' for #<MetaSearch::Searches::DeliveryTime:0x007fdd57f12db8> 

Was ist der beste Weg, um es richtig zu machen?

Antwort

20

ActiveAdmin verwendet MetaSearch, so sollten Sie

der Lage sein,
filter :items_<attribute>, as: :string 

Also in Ihrem Fall zu tun, wenn das Element einen Namen hat, können Sie tun:

filter :items_name, as: :string 
+0

Ja, das ist es. Vielen Dank. – Meliborn

+0

Gern geschehen, froh, dass ich helfen konnte! –

+0

perfekt! Danke –

0

Siehe Beziehung von Modellen und der folgende Code

Tabelle = Benutzer ID, Name, E-Mail

table = Kunden id, name,

user_id

Benutzer has_many Kunden

Kunde gehört Benutzer

USE Filter: user_name, wie:: string statt Filter: Benutzer