2010-12-02 15 views
39

मैं lynda.com द्वारा Rails 3.0 tutorial का पालन कर रहा हूं।रेल: ActiveRecord में बनाने और नए तरीकों के बीच अंतर?

इन दो पंक्तियों के बीच क्या अंतर है?

first_page = Page.new(:name => "First page") 

first_page = Page.create(:name => "First page") 

वैसे, इस महान ट्यूटोरियल है, मैं इसे अपने जैसे किसी अन्य नए शौक के लिए अनुशंसा करता हूं।

उत्तर

57

मूल रूप से new विधि ऑब्जेक्ट उदाहरण बनाता है और create विधि अतिरिक्त रूप से डेटाबेस को सहेजने की कोशिश करता है यदि यह संभव हो।

चेक ActiveRecod :: बेस प्रलेखन:

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

नई विधि नई वस्तुओं या तो खाली के रूप में instantiated जा सकता है (कोई निर्माण पैरामीटर पारित) या विशेषताओं के साथ पूर्व निर्धारित लेकिन अभी तक नहीं सहेजा (जुड़े तालिका स्तंभ नाम मिलान कुंजी नाम के साथ एक हैश पारित)।

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