2016-06-20 35 views
6

मैं अपने रेल 4 एप में अपने घटकों को बनाने के लिए मचान आदेशों का उपयोग करता हूं।रेल 4 - मचान के साथ मजबूत पैरामीटर - params.fetch

हाल ही में, मजबूत पैरा सेट करने के तरीके में उपयोग की जाने वाली शब्दावली पैराम्स से पूछी गई है। अनुरोध से पैराम्स.फेटच और अब सेटअप में घुंघराले ब्रेसिज़ हैं।

private 
    # Never trust parameters from the scary internet, only allow the white list through. 
    def engagement_params 
     params.fetch(:engagement, {}) 
    end 

मुझे परिवर्तन को समझाने या इसका उपयोग करने के लिए कोई दस्तावेज नहीं मिल रहा है।

क्या मैं अभी भी fetams.fetch (: engagement) .permit (: राय) fetch कमांड में लिख सकता हूं? मुझे नहीं पता कि घुंघराले ब्रेसिज़ के साथ क्या करना है।

अभिव्यक्ति के इस नए रूप का उपयोग करके मैं मजबूत पैरा कैसे पूरा करूं?

उत्तर

4

मैं इस स्थिति में कभी नहीं आया था, लेकिन यहाँ, मैं fetch विधि

http://api.rubyonrails.org/classes/ActionController/Parameters.html#method-i-fetch

मैं अभी भी params.fetch लिख सकते हैं के संदर्भ में पाया में (: सगाई) .permit (राय) कमांड कमांड?

हाँ, आप अभी भी उपयोग

params.fetch(:engagement).permit(:attributes, :you, :want, :to, :allow) 

मैं क्या घुंघराले ब्रेसिज़ के साथ क्या करना नहीं जानता कि कर सकते हैं।

यह एक डिफ़ॉल्ट मान है, तो कुंजी मौजूद नहीं है या यह एक त्रुटि

params.fetch(:engagement) 
#=> *** ActionController::ParameterMissing Exception: param is missing or the value is empty: engagement 

params.fetch(:engagement, {}) 
#=> {} 

params.fetch(:engagement, 'Francesco') 
#=> 'Francesco' 

मैं अभिव्यक्ति के इस नए रूप का उपयोग करते हुए मजबूत पैरामीटर कैसे पूरा करते फेंक होगा लौटा दी जाएगी?

params.fetch(:engagement).permit(:attributes, :you, :want, :to, :allow) 
+0

धन्यवाद @Deepak - क्या प्रयोजन घुंघराले ब्रेसिज़ पाड़ में सेवा करते हैं? – Mel

+1

@ मेल यह कोई कुंजी नहीं होने पर आपको खाली हैश वापस कर देगा: पैराम्स में जुड़ाव। ऊपर की जाँच करें मैंने जवाब संपादित किया है –

+0

धन्यवाद @ दीपक - क्या इसका मतलब है कि अगर मैं मजबूत पैरा सेट करने के नए तरीके का उपयोग शुरू करना चाहता हूं, तो मुझे आपके उत्तर में तीसरे उदाहरण का उपयोग करना चाहिए? – Mel

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