2012-07-18 15 views
7

यह कोड: = form_fo: store_products do | f | = f.check_box:चेक_बॉक्स फॉर्म सहायक क्यों दो चेकबॉक्स उत्पन्न करता है, एक छिपा हुआ है?

<input name="product_group[products_attributes][0][store_products_attributes}[1342647745501][track_inventory]" type="hidden" value="0"> 

<input id="product_group_products_attributes_0_store_products_attributes_1342647745501_track_inventory" name="product_group[products_attributes][0][store_products_attributes][1342647745501][track_inventory]" type="checkbox" value="1"> 

पहले छिपा तत्व का क्या कारण है: track_inventory

इस एचटीएमएल बनाता है?

+0

पर पकड़ लिया मुझे लगता है कि आप लिखने में कोई त्रुटि है। 'Form_for' के बजाय 'form_for'' आज़माएं। – Dougui

उत्तर

21

एचटीएमएल विनिर्देश कहता है कि अनचेक चेकबॉक्स वेबब्रोसर द्वारा नहीं भेजे जाने चाहिए। इसका मतलब यह है कि, अगर अनचेक किया जाता है, तो रेल को कोई रिकॉर्ड नहीं मिलता है कि फॉर्म पर चेकबॉक्स अनचेक किया गया था या नहीं। यह महत्वपूर्ण होगा, उदाहरण के लिए, यदि उपयोगकर्ता एक रिकॉर्ड संपादित कर रहा था जहां चेकबॉक्स पहले चेक किया गया था और उन्होंने इसे अनचेक करने का निर्णय लिया था - रेल इस विशेषता को अपडेट करने के बारे में नहीं जान पाएंगे।

छिपे हुए क्षेत्र में चेकबॉक्स के समान नाम है, इसलिए यदि चेकबॉक्स नहीं भेजा गया है, तो छुपा_फील्ड इसके बजाय भेजा जाता है ('0' के मान के साथ, जिसका अर्थ अनचेक किया जाता है)। इस तरह, रेलों को हमेशा एक सिग्नल प्राप्त होगा कि चेकबॉक्स चेक किया गया था या अनचेक किया गया था या नहीं। इस पर

अधिक जानकारी APIDock

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