2011-05-30 13 views
5

मैं एक आंशिक तरह है:ईआरबी टेम्पलेट्स में एचटीएमएल टैग में वैरिएबल वैल्यू कैसे डालूं?

<% office.map do |o| %> 
    <input id='city' name='company[company_office][0][city]' value=.... type='text' /> 
<% end %> 

मैं कैसे एक विशेषता में o.office की तरह एक मूल्य के सम्मिलित कर सकते हैं? value="#{o.office}" काम नहीं करता है। एम्बेडेड माणिक

उत्तर

15
<% office.map do |o| %> 
    <input id='city' name='company[company_office][0][city]' value='<%= o.office %>' type='text' /> 
<% end %> 

या आपको लगता है कि

+0

नहीं, फॉर्म हेल्पर्स मैं उपयोग नहीं कर सकता, क्योंकि मेरे पास विशिष्ट नाम है। बड़ा धन्यवाद, मुझे नहीं पता, कि मैं उद्धरण लिखना चाहता हूं) – maxfry

+2

आपका विशिष्ट नाम क्या है? भी, एक लूप के लिए ट्रैवर्सिंग और एक ही आईडी के साथ इनपुट बनाने की सिफारिश नहीं की जाती है। आपको अपनी आईडी और नाम गतिशील बनाना चाहिए। – corroded

8

उपयोग करें (ERB) टैग,

<%= o.office %> 

केवल समय आप #{o.office} प्रयोग करेंगे जब आप ERB उपयोग नहीं कर रहे है। उदाहरण के लिए एक सहायक विधि में और आप एक स्ट्रिंग में अपनी रूबी का उपयोग करना चाहते हैं। लेकिन जब आप html.erb फ़ाइल में हों, तो आपको एआरबी टैग का उपयोग करना होगा।

+1

के लिए प्रपत्र सहायकों इस्तेमाल कर सकते हैं <% = content_tag: इनपुट,: आईडी => "शहर",: नाम => "कंपनी [company_office] [0] [शहर]" ,: value => "# {o.office}",: type => "text"%> ऐसा लगता है कि मुझे ऐसा लगता है। – ardavis

+2

शीर्ष वोट वाले उत्तरों के साथ सहमत हैं। '<% = o.office%> 'बस यह जोड़ना चाहता था कि शुरुआती लोगों के लिए बराबर चिह्न के साथ और बिना भेदभाव वाले ईटीबी टैग को पहचानना महत्वपूर्ण है। '<%= ... %>' बनाम '<% ... %>' ** बराबर चिह्न के साथ टैग ** इंगित करता है कि संलग्न कोड एक अभिव्यक्ति है और एक स्ट्रिंग के रूप में कोड प्रस्तुत करता है। एक चर की सामग्री प्रदर्शित करने के लिए टेम्पलेट में कोड की रेखा को एम्बेड करने के लिए प्रयुक्त होता है। ** बराबर चिह्न के बिना टैग ** आमतौर पर रूबी में लूप/सशर्त तर्क शामिल करने के लिए उपयोग किया जाता है। – lavapj

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