2012-12-19 10 views
8

मेरा ActiveAdmin पंजीकृत मॉडल में "सक्रिय" बूलियन फ़ील्ड है। मैं एक बार में कई रिकॉर्ड "सक्रिय" करने के लिए बैच कार्रवाई शामिल करना चाहता हूं।ActiveAdmin बैच_एक्शन टेम्पलेट त्रुटि और कोई अपडेट

मैं पर निर्देशों का पालन करने की कोशिश कर रहा हूँ: एक कस्टम बैच कार्रवाई करने के लिए

http://activeadmin.info/docs/9-batch-actions.html

और मैं दोनों समस्याओं कर रहा हूँ।

मैं इस है:

ActiveAdmin.register Venue do 

    batch_action :deactivate do |selection| 
    Venue.find(selection).each do |v| 
     v.active = false 
    end 
    end 
end 

जब मैं कुछ मैं एक टेम्पलेट त्रुटि नहीं मिला सक्रिय करने का प्रयास। यह एक "बैच_एक्शन" टेम्पलेट की तलाश में है। टेम्पलेट को जोड़ने की आवश्यकता के बारे में मुझे उस दस्तावेज़ में कुछ भी नहीं दिखाई दिया। यदि मैं उस नाम के साथ एक टेम्पलेट जोड़ता हूं तो त्रुटि दूर हो जाती है और यह टेम्पलेट प्रदर्शित करता है ... यह बिल्कुल नहीं है जो मैं चाहता हूं। मैं चाहता हूं कि यह सिर्फ इंडेक्स को फिर से चलाए।

किसी भी मामले में (जगह में टेम्पलेट के साथ या बिना), मॉडल अपडेट नहीं किया जा रहा है। मैं लॉग में देख सकता हूं जहां यह सिर्फ चयनित रिकॉर्ड के लिए चयन करता है और कुछ और नहीं करता है।

उत्तर

20

मैं निम्न कार्य करके मुद्दों से छुटकारा मिला:

batch_action :activate do |selection| 
    Venue.find(selection).each do |v| 
    v.active = true 
    v.save 
    end 
    redirect_to :back #this ensures any current filter stays active 
end 

'सहेजें' भाग स्पष्ट लगता है, लेकिन डॉक्स में उदाहरण मेरा पहला प्रयास पर मुझसे दूर फेंक दिया। ऐसा लगता है कि यह दस्तावेज़ों के लिए एक और अधिक प्रासंगिक उदाहरण होगा।

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