पटरियों पर रूबी form_for वर्ग के साथ क्षेत्र का चयन करें


200

मैं इस एक पर दीवार के खिलाफ अपना सिर पीट रहा हूं। मैं टैग का उपयोग करके एक सरल चयन टैग बनाना चाहता हूं, f.selectलेकिन मैं कुछ भी काम नहीं करता। मैंने एक उदाहरण नीचे दिया:

<%= f.select(:object_field, ['Item 1', 'Item 2', 'Item 3', 'Item 4', 'Item 4'], :class => 'my_style_class')%>

ठीक है, इसलिए मूल रूप से यह एक सरल सूची है कि एक बार फॉर्म जमा करने के बाद यह मान को अंदर ले जाता है object_field। यह सब काम करता है, लेकिन पृष्ठ स्रोत को देखकर कक्षा टैग शामिल नहीं है। यह एक त्रुटि नहीं है, यह सिर्फ यह सब एक साथ छोड़ देता है।

अगर किसी के पास कोई सुझाव है तो मैं इसकी बहुत सराहना करूंगा।

जवाबों:


449

इस तरह आज़माएँ:

<%= f.select(:object_field, ['Item 1', ...], {}, { :class => 'my_style_class' }) %>

selectसहायक दो विकल्प हैश लेता है, एक चयन के लिए, और दूसरा html विकल्पों के लिए। इसलिए आपको केवल वस्तुओं की सूची के बाद पहले खाली के रूप में डिफ़ॉल्ट खाली विकल्प देना है और फिर अपनी कक्षा को जोड़ना है html_options

http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-select


2
पैसे पर अधिकार, बहुत बहुत धन्यवाद, यह चाल चली! मुझे पता था कि यह कुछ सरल होना था और निश्चित रूप से यह था।
पैट्रिक

मैंने इस तरह से एचएमएल में कोशिश की थी, लेकिन पता नहीं क्यों "तत्व के साथ फायरबग में तत्व का निरीक्षण करें" वर्ग यहां नहीं देखा गया है मेरा कोड = f.select (: लिंग, [['पुरुष', सच), ['महिला ', गलत]], {}, {: class => "drop",: style => "opacity: 0;"})
गगन गमी

@ गगनगामी मुझे इस कोड के साथ काम करने के लिए मिला: = f.select(:stars, [['Male', true], ['Female', false]], {}, {:class=>"form-control",:style=>"opacity: 0;"}) 0 पर सेट अपारदर्शिता आपके क्षेत्र को अदृश्य कर देगी।
रॉबर्ट

क्या किसी को पता है कि अगर एफ अंत में एक ब्लॉक पारित किया जा रहा है तो हमें क्या करना चाहिए? कक्षा ने किसी भी संयोजन के साथ जाने की कोशिश नहीं की है जो मैंने कोशिश की है।
Tashows

स्पष्टीकरण के लिए
थैंक्यू

21

आप इस तरह से शीघ्र विकल्प भी जोड़ सकते हैं।

<%= f.select(:object_field, ['Item 1', 'Item 2'], {include_blank: "Select something"}, { :class => 'my_style_class' }) %>

12

यह काम मेरे लिए

<%= f.select :status, [["Single", "single"], ["Married", "married"], ["Engaged", "engaged"], ["In a Relationship", "relationship"]], {}, {class: "form-control"} %>

2

आप यहाँ देख सकते हैं: http://apidock.com/rails/ActionView/Helpers/FormBuilder/selectlect

या यहाँ: http://apidock.com/rails/ActionView/Helpers/FormOptionsHelper/select

सेलेक्ट टैग में मैक्सिमुन 4 एग्रीकल्चर होता है, और लास्ट एग्रीकल्चर html ऑप्शन होता है, इसका मतलब है कि आप यहां क्लास, रिक्वायरमेंट, सिलेक्शन ऑप्शन डाल सकते हैं।

= f.select :sms_category_id, @sms_category_collect, {}, {class: 'form-control', required: true, selected: @set}

selected: @setमेरे लिए काम करता है जब मैं इसे पहली बार में रखता हूं {}
user1515295
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.