2010-05-05 12 views
6

के साथ विकल्प मेनू का चयन करें मुझे <options> की सूची पर डिफ़ॉल्ट मान के साथ एक चयन मेनू तैयार करने की आवश्यकता है। यहां बताया गया है कि मुझे इसकी तरह दिखने की ज़रूरत है।रेल पर रूबी: डिफ़ॉल्ट मान विशेषता

<%= f.select(:parent_id, @parent_menus.collect {|p| [ p.name, p.id ] }, {:include_blank => '==None=='})%> 

<select name="menu[parent_id]" id="menu_parent_id"> 
<option value="0">==None==</option> 
<option value="34">TEST</option> 
</select> 

वर्तमान में मैं अपने रूप में इस select सहायक का उपयोग ऊपर कोड इस का निर्माण किया; (value="")

<select name="menu[parent_id]" id="menu_parent_id"> 
<option value="">==None==</option> 
<option value="34">TEST</option> 
</select> 

यहाँ किसी को भी मेरे लिए विकल्पों की सूची पर value="0" जोड़ने के लिए एक रास्ता दिखा सकते हैं करता है?

उत्तर

9
<%= f.select(:parent_id, [["==None==", 0]] + @parent_menus.collect {|p| [ p.name, p.id ] }) %> 
+0

यहाँ मैं उस के लिए क्या मिलता है, '<विकल्प मान =" == कोई भी == "> == कोई नहीं है ==<विकल्प चयनित = "चयनित" मान = "0"> 0 ' दरअसल मैं इस ' <विकल्प va जैसे कुछ ढूंढ रहा हूं lue = "0"> == कोई नहीं == ' – randika

+0

क्षमा करें, मेरी गलती। मैं एक भूल गया []। मेरा अपडेट देखें। –

+0

हुरेय ने काम किया! एक गुच्छा सिमोन धन्यवाद। मैं इसे उत्तर के रूप में बनाउंगा। – randika

1

<%= f.select(:parent_id, options_for_select(["==None==", 0] + @parent_menus.collect {|p| [ p.name, p.id ] }, 0)) %> 
0

मैं नहीं जानता कि यह रूबी तरीका है या नहीं की कोशिश करें लेकिन इस definietly

<%= f.select(:parent_id, "<option value='0'>Please select</option>"+options_for_select(@parent_menus.collect {|p| [ p.name, p.id ] }))%> 

संपादित काम करेंगे। डेटाबेस में मूल्य सहेजने के अनुसार पूर्व-चयनित के लिए मुझे लगता है कि @user आपके ऑब्जेक्ट में उदाहरण के लिए डेटाबेस मान है।

<%= f.select(:parent_id, "<option value='0'>Please select</option>"+options_for_select(@parent_menus.collect {|p| [ p.name, p.id ] }, @user.id))%> 
+0

कृपया मेरी संपादित उत्तर आशा की जांच करें जो मदद करता है। – Salil

1

सोचा मैं एक डिफ़ॉल्ट चयनित मान कि लटकती में वस्तुओं में से एक है, के रूप में एक 'कोई नहीं' मूल्य का विरोध करने पर काम करना चाहते किसी को भी यह जोड़ना होगा। यानी, आप एक ऐसे फॉर्म को संपादित कर रहे हैं जिसमें पिछले मान का चयन किया गया हो, और आप अपने संपादन पृष्ठ पर उस पिछले मान को खोना नहीं चाहते हैं:

मान लीजिए कि आपके पास @ पारेन्ट्स में रखे माता-पिता की एक सरणी है और आपका फॉर्म बंधे हैं एक वस्तु @my_messed_up_family कहा जाता है, और @my_messed_up_family करने के लिए एक 'पिता' है:

= f.label :parent_id, "Choose which of your parents is your father? 

= f.select :parent_id, options_from_collection_for_select(@parents.sort_by {|n| n.name}, "id", "name", :selected=>@my_messed_up_family.father.id) 
संबंधित मुद्दे