2011-02-07 14 views
16

मैं ऑन रेल्स 3 रूबी उपयोग कर रहा हूँ और मुझे पता है कि वापसी के लिए किस प्रकार निम्नलिखित कोड होगा चाहते हैं:ActiveRecord 'नष्ट' विधि रूबी ऑन रेल्स में एक बूलियन मान देता है?

@user.destroy 

मुझे लगता है कि में किसी न किसी प्रकार इस तरह सफलता और गलती पर मामलों को संभालने की ज़रूरत :

if @user.destroy 
    puts "True" 
else 
    puts "false" 
end 

क्या यह संभव है? यदि हां, तो कैसे?

उत्तर

27

आप जो पूछ से पहले पूछ रहे हैं प्रयास करना चाहिए। जो आपको मिला है वह ठीक काम करेगा।

तो काम करता है को नष्ट, यह वस्तु (जो एक अगर बयान में के रूप में सही पारित करेंगे) और यदि नहीं, तो यह अवास्तविक लौटाते हैं या बढ़ा एक अपवाद है, क्यों यह असफल के आधार पर वापस आ जाएगी।

+4

स्पष्टीकरण के लिए दस्तावेज़ों का उद्धरण दें: "यदि पहले_ड्रेस्ट्रॉय कॉलबैक झूठी वापसी करता है तो कार्रवाई रद्द हो जाती है और रिटर्न झूठी नष्ट हो जाती है।" (Http://edgeapi.rubyonrails.org/classes/ActiveRecord/Persistence.html#method-i- नष्ट)। – amoebe

13

यह संभव है। नष्ट करने वाली विधि उस वस्तु को वापस लाती है जो नष्ट हो गई थी; आप इस ActiveRecord वस्तु पर destroyed? इस्तेमाल कर सकते हैं की जाँच करने के लिए यदि वस्तु को प्रभावी ढंग से नष्ट हो जाता है:

if @user.destroyed? 
    puts "True" 
else 
    puts "false" 
end 
संबंधित मुद्दे