2012-10-22 17 views
77

form_for रेल के लिए कस्टम पाठ मैं form_for में एक लेबल प्रदर्शित करना चाहते हैं:लेबल

<div class="field"> 
    <%= f.label :name %><br /> 
    <%= f.text_field :name %> 
</div> 

इस लेबल "नाम" उत्पन्न करता है, लेकिन मैं इसे होने के लिए "आपका नाम" चाहते हैं। मैं इसे बदलने में किस तरह सक्षम हूं?

उत्तर

143

label सहायक का दूसरा पैरामीटर आपको कस्टम टेक्स्ट सेट करने की अनुमति देगा।

<%= f.label :name, 'Your Name' %> 

सहायक तरीके देखने के लिए Ruby on Rails Documentation का उपयोग करें।

+1

धन्यवाद! क्या आप कृपया मुझे बता सकते हैं कि मैं दस्तावेज़ में इस तरह कुछ कैसे देख सकता हूं? –

+2

बस उपरोक्त लिंक पर जाएं और उस खोज में टाइप करें जिसे आप खोज बॉक्स में ढूंढ रहे हैं। 'लेबल' 'एक्शन व्यू :: हेल्पर्स :: फॉर्मबिल्डर' और 'एक्शन व्यू :: हेल्पर्स :: फॉर्महेल्पर' के तहत सूचीबद्ध है। 'एक्शन व्यू :: हेल्पर्स :: फॉर्मबिल्डर' वह है जिसे हम रुचि रखते हैं, लेकिन इसमें कोई विवरण नहीं है। यदि आप विधि घोषणा को देखते हैं, तो आप देख सकते हैं कि दूसरा पैरामीटर 'टेक्स्ट' है। इस उदाहरण में, यह बहुत सीधे आगे नहीं है। लेकिन वह दस्तावेज़ीकरण साइट _usually_ बहुत अच्छी है। – gylaz

+0

मैं देखता हूं, धन्यवाद! –

23

आप i18n के माध्यम से कस्टम लेबल टेक्स्ट निर्दिष्ट कर सकते हैं। config/locales/en.yml में, और यह मानते हुए अपने उपयोगकर्ता मॉडल user नाम पर है, तो आपको निम्न जोड़ सकते हैं:

helpers: 
    label: 
     user: 
     name: Your Name 

यह आपको Your Name हार्डकोड करने के बिना

<%= f.label :name %> 

का उपयोग कर रखने के लिए अनुमति देगा।

i18n के बारे में अधिक जानकारी के लिए, this देखें। label पर प्रलेखन this देखें।

0

रेल 5.1.0 पर, ऊपर स्वीकृत उत्तर काम नहीं करता है।

पारित पहला पैरामीटर एक अनुकूलित लेबल के रूप में उपयोग किया जा सकता है।

"<% = f.label: मोबाइल," मोबाइल नहीं: "%>"