2013-04-02 7 views
8

में चुनने के बजाय स्ट्रिंग द्वारा फ़िल्टर करें I have__ और दो मॉडलों के बीच कई assoryations है। डिफ़ॉल्ट रूप से, इसके लिए चयन इनपुट का उपयोग कर activadmin। लेकिन मेरे मामले में, यह असंभव है - क्योंकि मेरे पास हजारों आइटम हैं। जब मैंActiveAdmin

filter :item, as: :string 

को परिवर्तन फ़िल्टर कोशिश कर यह कहा गया है कि

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

इसे सही करने के लिए सबसे अच्छा तरीका क्या है?

उत्तर

20

ActiveAdmin MetaSearch का उपयोग करता है, तो आप यदि आइटम एक नाम है

filter :items_<attribute>, as: :string 

तो आपके मामले में ऐसा करने में सक्षम होना चाहिए, आप कर सकते हैं:

filter :items_name, as: :string 
+0

हाँ, thats यह। धन्यवाद। – Meliborn

+0

आपका स्वागत है, खुशी है कि मैं मदद कर सकता हूं! –

+0

सही! धन्यवाद –

0

मॉडलों के संबंध का संदर्भ लें और निम्नलिखित कोड

तालिका = उपयोगकर्ता आईडी, नाम, ईमेल

तालिका = ग्राहकों आईडी, नाम, user_id

उपयोगकर्ता has_many ग्राहकों

ग्राहक अंतर्गत आता है उपयोगकर्ता

उपयोग फिल्टर: user_name, के रूप में: स्ट्रिंग फिल्टर के बजाय: उपयोगकर्ता

संबंधित मुद्दे