2012-07-11 6 views
18

मैं कोड का निम्न भागमैच बूलियन मूल्यों के साथ चयन के रूप में एक विकल्प

%br 
= f.label :active, 'Status' 
= f.select :active, ['Active','Inactive'] 

प्रतीक: सक्रिय एक बूलियन प्रकार वर है। डेटाबेस जोड़ने के लिए मैं सक्रिय => 1/True, और निष्क्रिय => 0/गलत से कैसे मिलान कर सकता हूं।

नौसिखिया प्रश्न के लिए खेद है, लेकिन मैं इसे समझ नहीं सकता।

उत्तर

44

आप प्रत्येक विकल्प के लिए मूल्यों की एक जोड़ी प्रदान कर सकते हैं:

= f.select :active, [['Active', true], ['Inactive', false]] 

यह कुछ प्रस्तुत करना होगा: पहले लेबल (<option> टैग के भीतर पाठ) के रूप में इस्तेमाल किया जाएगा, दूसरा एक value विशेषता के रूप में इस्तेमाल किया जाएगा जैसे:

<select name="model[active]"> 
    <option value="true">Active</option> 
    <option value="false">Inactive</option> 
</select> 

select और options_for_select के लिये दस्तावेज पर एक नज़र डालें।

3

यदि आप ड्रॉपडाउन का उपयोग कर रहे हैं, तो पहले के उत्तर का एक छोटा सा विस्तार।

मुझे "options_for_select" का उपयोग करने की आवश्यकता है। साथ ही, "चयनित" अगली बार जब आप फॉर्म पर वापस आते हैं तो मूल्य स्टोर करता है।

<%= f.select(:active, options_for_select([['Active', true], ['Inactive', false]], {:selected => @symbol.active}),:prompt => "Select") %> 
संबंधित मुद्दे