डोमेन कक्षाओं पर प्रत्येक save()
आमंत्रण से पहले कुछ सामान्य कोड निष्पादित करने का कोई अच्छा/मानक तरीका है?Grails - प्रत्येक सहेजने से पहले कोड कैसे निष्पादित करें?
उदाहरण के लिए, मेरे डोमेन
class Page {
String url
Boolean processed
Date date
Integer urlCrc
}
मेरे प्रपत्र केवल 3 पहले फ़ील्ड होते हैं और मैं urlCrc
हर बार save()
विधि कहा जाता है की गणना करना चाहते हैं। मैं केवल सहेजने की विधि को ओवरराइड नहीं कर सकता क्योंकि यह इंजेक्शन दिया गया है।
धन्यवाद, यह काम करता है। दुर्भाग्यवश grails.org नीचे है, कुछ रूटिंग समस्याओं के कारण http://grails.1312388.n4.nabble.com/Is-the-plugin-repository-down-td4628824i40.html इसलिए मुझे यहां पूछने की आवश्यकता है – mrok
उपरोक्त समाधान शायद सबसे अच्छा है, लेकिन एक और विकल्प एक grails गणना क्षेत्र का उपयोग करना है। इसके लिए दस्तावेज़ देखें। –
यदि आप सहेजने से पहले कोड को पहले से अपडेट करें()/पहले इंसर्ट() 'से पहले निष्पादित करना चाहते हैं। यदि आप 'preValidate()' का उपयोग करते हैं, तो इसे हमेशा सत्यापित किया जाता है जब आप 'वैध() '(विधि' सेव() 'कॉल' मान्य() 'को सहेजने से पहले कॉल करते हैं) कहते हैं। तो यदि आपका कोड सहेजता नहीं है तो भी आपका कोड इसे सत्यापित करने से पहले निष्पादित किया जाता है। – IgniteCoders