Tuesday 15 February 2011

ruby - Validate Rails model just when some method is called -


किसी कारण से मुझे इस मान्यता को चलाने की आवश्यकता है

  validates_presence_of: user_id   

जब कुछ विधि कहा जाता है

  def # प्रकाशित करें यह विधि सहेज नहीं जाती है और न ही रिकॉर्ड को अपडेट करता है # तो सत्यापन चल नहीं रहे हैं ... अंत  < / Pre> 

मैंने इसे इस तरीके से हल किया है:

  # मॉडल validates_presence_of: user_id, if:: go_to_publish attr_accessor: go_to_publish # पोस्ट को प्रकाशित करते समय post.going_to_publish = true post.publish   

क्या उस फ्लैग वेरिएबल को निकालने का कोई तरीका है?

मैं डॉन

यदि आप कोई पोस्ट प्रकाशित करते हैं, तो पोस्ट ओजज को लगातार होना चाहिए। तो प्रकाशित करें विधि को बनाने / सेव विधि को अंदर कॉल करना होगा।

यदि ऐसी विधियां बुलाती हैं, तो सत्यापन नियम होंगे के रूप में भी जाना जाता है।

जोड़

सत्यापन भी के लिए अद्यतन के लिए काम करता है

एक नया रिकॉर्ड बनाना और सहेजना होगा एक एसक्यूएल INSERT ऑपरेशन डेटाबेस के लिए मौजूदा रिकॉर्ड को अपडेट करना इसके बजाय एक SQL UPDATE कार्रवाई भेज देगा। इन आदेश डेटाबेस से पहले भेजे जाने से पहले मान्यताओं को आमतौर पर चलाया जाता है। यदि कोई मान्यताओं असफल हों तो ऑब्जेक्ट को अमान्य और सक्रिय रिकॉर्ड के रूप में चिह्नित किया जाएगा INSERT या UPDATE ऑपरेशन निष्पादित नहीं करेगा।



No comments:

Post a Comment