मैं अपने Grails नियंत्रक कोड को साफ करने के तरीकों की तलाश में हूं। विभिन्न नियंत्रकों में मैं और अधिक या कम एक ही तर्क है ..Grails नियंत्रकों को और अधिक DRY बनाना?
- वस्तु
- जांच प्राप्त करता है, तो यह
- आदि मौजूद ..
वहाँ नियंत्रक कार्यों बनाने के लिए एक सुझाव दिया और रास्ता नहीं है सामान्य कोड का पुन: उपयोग करें?
--- समाधान ---
सवाल का जवाब सभी समाधान हम लागू कर दिया है करने के लिए योगदान दिया है।
हमने एक कक्षा बनाई जो हमारे नियंत्रकों में मिक्सिन दृष्टिकोण का उपयोग करके उपयोग की जाती है। मिक्सिन का खुलासा करने वाली विधियों में से एक ऑब्जेक्ट विधि के साथ है। यह विधि नियंत्रक से डोमेन नाम लेती है और विधि के लिए इसका आधार उपयोग करती है। इस व्यवहार को निश्चित रूप से ओवरराइड किया जा सकता है!
def withObject(object=this.getClass().getName()-"Controller", id="id", Closure c) {
assert object
def obj = grailsApplication.classLoader.loadClass(object).get(params[id])
if(obj) {
c.call obj
} else {
flash.message = "The object was not found"
redirect action: "list"
}
}
तो सभी उत्तरों ने समाधान में योगदान दिया है! आपका बहुत बहुत धन्यवाद!
कृपया प्रश्न संपादित करें और अपने कोड का एक उदाहरण जोड़ें। फिलहाल सवाल बहुत अस्पष्ट है। – ordnungswidrig