2012-10-12 12 views
8

मुझे इनपुट टैग के नाम विशेषता में स्क्वायर ब्रैकेट्स बहुत समय लगता है। इसके लिए क्या है और इसका उपयोग क्यों किया जाता है?इनपुट टैग के नाम विशेषता में स्क्वायर ब्रैकेट

 
    `input id="academy_name" name="academy[name]" size="30" type="text" />` 

तो नाम = "अकादमी [नाम]" क्यों न सिर्फ नाम = "अकादमी"।

कृपया मदद करें!

+0

यह अकादमी हैश में नाम लपेटता है, इसलिए जब आप परम करते हैं [अकादमी] यह आपको अकादमी ऑब्जेक्ट – Amar

+0

के लिए सभी विशेषता देगा ओह इसे मिला .... धन्यवाद अमर :) –

उत्तर

10

कुछ सर्वर साइड चौखटे, रूबी ऑन रेल्स सहित नाम लपेटकर है, एक संकेत के रूप में अंकन की इस प्रकार की का उपयोग करें कि उन्हें करना चाहिए एक सर्वर-साइड ऑब्जेक्ट में डेटा का निर्माण करें (एक सहयोगी सरणी - उदाहरण के लिए, नक्शा - रेल के मामले पर रूबी में)। तो रूबी पर रूबी के साथ, उदाहरण के लिए, यदि आपके पास नाम = "उपयोगकर्ता [ईमेल]" और नाम = "उपयोगकर्ता [फोन]" था और फॉर्म पर सबमिट किया गया था, तो सर्वर पर रेल कोड पर आपकी रूबी में आप एक ही उपयोगकर्ता को पुनर्प्राप्त करेंगे अनुरोध से ऑब्जेक्ट करें और इसमें चाबियाँ ईमेल और फोन होंगी।

+0

ठीक है ... धन्यवाद दीपक !! –

1

यह इसलिए क्योंकि डेवलपर सरणी उपयोग कर रहा है, और इसलिए वह [] बार कोष्ठक

+3

RoR के मामले में यह इंगित नहीं करता है फॉर्म पर ऐरे नोटेशन। यह इंगित करता है कि 'नाम' विशेषता 'अकादमी' वस्तु से संबंधित है। जब फॉर्म वापस पोस्ट किया जाता है, तो यह संबंधित विशेषताओं में 'अकादमी' ऑब्जेक्ट में विशेषताओं को मानचित्र करता है। –

0

आतंक विरोधी मॉडल का नाम भीतर मॉडल की विशेषताओं के नक्शे, ताकि जब आप प्रपत्र पोस्ट आप इस तरह के रूप में आसानी से उन्हें प्रदान कर सकते हैं,:

Academy.create(params[:academy]) 

या

@academy = Academy.find(params[:id]) 
@academy.update_attributes(params[:academy] 

(भी रूप में जाना जाता जन असाइनमेंट)।

यदि आप academy ऑब्जेक्ट का निरीक्षण करते हैं तो इसे params हैश में फ़ॉर्म में भेजा जाता है, तो आप देखेंगे कि स्क्वायर ब्रैकेट में मौजूद प्रत्येक चीज के लिए इसका तत्व है।

+0

ठीक है समझ गया .. धन्यवाद माइकल !! –

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