2011-01-22 12 views
93

मैंने नीचे अपनी _form.html.erb फ़ाइल सूचीबद्ध की है जो मैं करना चाहता हूं सबमिट बटन पर टेक्स्ट बदलना है, मुझे पता है कि इसे HTML में कैसे करना है लेकिन नहीं shure रेल में यह करने के लिए कैसेरेल 3 सबमिट बटन पर पाठ को कैसे बदलें

<%= f.submit %> 

की 3

%= form_for(@faq) do |f| %> 
    <% if @faq.errors.any? %> 
    <div id="error_explanation"> 
     <h2><%= pluralize(@faq.errors.count, "error") %> prohibited this faq from being saved:</h2> 

     <ul> 
     <% @faq.errors.full_messages.each do |msg| %> 
     <li><%= msg %></li> 
     <% end %> 
     </ul> 
    </div> 
    <% end %> 

    <div class="field"> 
    <%= f.label :question %><br /> 
    <%= f.text_field :question %> 
    </div> 
    <div class="field"> 
    <%= f.label :answer %><br /> 
    <%= f.text_area :answer %> 
    </div> 
    <div class="actions"> 
    <%= f.submit %> 
    </div> 
<% end %> 

उत्तर

166

बजाय डाल

<%= f.submit "My Submit Text" %> 
+0

ओएमजी मुझे विश्वास नहीं है कि मैं इतना डांग था कि मैं इसे HTML नाम = "मेरा सबमिट टेक्स्ट" जैसे उपयोग करने की कोशिश कर रहा था धन्यवाद, यह मुझे मिला जो मैं देख रहा था :) –

+1

मुझे विश्वास नहीं है कि यह बहुत आसान बात है ' फ्रेकिंग में टी [इस विधि के लिए एपीआई दस्तावेज़] (http://api.rubyonrails.org/classes/ActionView/Helpers/FormBuilder.html#method-i- सबमिट करें)। –

+4

यह मेरे लिए काम नहीं करता - मुझे '<% = f.submit: value =>" लॉगिन "%>' करना था। (रेल 3.2.11) –

15

आप उपयोग कर सकते हैं:

<%= f.submit 'Name of the submit button' %> 

इस तरह प्रश्नों के लिए, उपलब्ध डॉक्स या तो का उपयोग कर

पर कभी कभी, एक गूगल जैसे खोज करने पर विचार नीचे एक मदद करता है:

+2

यह किसी भी उदाहरण के साथ दस्तावेज़ों को पढ़ने की कोशिश करने से यहां इतना आसान है! –

+1

मुझे रूबी डॉक्स को बहुत निराशाजनक लगता है जब विशिष्ट कैसे करें-I-do-xxx प्रश्नों का उत्तर देने की बात आती है। –

57

यदि आप सभी सबमिट और अपडेट फॉर्म को टैग सबमिट करना चाहते हैं, तो यह परिवर्तन करना आसान है। इसलिए जैसे config/locales/en.yml संशोधित करें:

en: 
    helpers: 
    submit: 
     model_name: 
     create: "Create" 
     update: "Update" 

और फिर अपने रूप में आप सिर्फ उपयोग कर सकते हैं:

en: 
    helpers: 
    submit: 
     create: "Crear un %{model}" 
     update: "Confirmar cambios al %{model} creado" 
+48

मुझे पसंद है कि आप अंग्रेजी लोकेल में स्पेनिश वाक्यांश कैसे डालते हैं! – graywh

34

@ डैनियल जवाब पर बिल्डिंग, आप भी एक प्रति-मॉडल के आधार पर टैग मूल्यों प्रस्तुत अनुकूलित कर सकते हैं :

<%= f.submit %> 

देखें here प्रलेखन (। दूसरे उदाहरण)

2

के लिए मैं इस समस्या थी और मैं केवल मॉडल का नाम इस तरह से अनुवाद करने के लिए किया था:

pt-br: 
    activerecord: 
    models: 
     user: 
     one: "Usuário" 
     more: "Usuários" 

यह भी पूरक @ डैनियल जवाब जो मुझे संकेत दिया था क्या याद आ रही थी ।हालांकि, मुझे लगता है कि यह rails-i18n

0

पर पहले से ही है के रूप में @ डैनियल जवाब वास्तव में आवश्यक नहीं है इसका सरल,

<%= f.submit 'Desired text on the button' %> 
5

का उपयोग करते हैं ERB में लिखने

<%= f.submit "your text" %>

जब में लिखना HAML

= f.button :submit, "your text" 

HAML कॉमा सबमिट करने के बाद वहां होना चाहिए अन्यथा यह त्रुटि फेंक देगा।

+2

कॉमा को वहां नहीं होना है, बिना मेरे लिए काम करता है। – erb

+0

हाँ, आप हम्ल कॉमा में सही हैं। = f.button: सबमिट करें, "आपका टेक्स्ट" –

+0

एक अल्पविराम का उपयोग करके मेरे लिए एक त्रुटि फेंकता है (और यह बिना किसी के ठीक काम करता है) रेल 4 (कोई haml) पर। – rainbowsorbet

1

शायद ज़रुरत पड़े, मैं इस परिदृश्य के साथ कोशिश कर रहा था:

f.submit t('conf.begin') class: 'btn btn-outline btn-success' 

लेकिन यह काम नहीं कर रहा था, समाधान कक्षा से पहले एक अल्पविराम से था (यह मेरे लिए शुरुआत में स्पष्ट नहीं था):

f.submit t('conf.begin'), class: 'btn btn-outline btn-success' 

चीयर्स

0

सहायकों कभी कभी का उपयोग कर इस्तेमाल किया पाठ की वजह से स्वीकार्य नहीं है या आप अतिरिक्त वर्ग को जोड़ने आदि है, तो आप सीधेओवरराइड कर सकते हैं की जरूरत है 210:

<%= f.submit class: 'btn btn-primary', value: 'Login' %> 

या:

<%= f.button :submit, class: 'btn btn-primary', value: 'Login' %> 

जिस तरह से यह द्वारा उल्लेख किया गया था @ स्वीकार किए जाते हैं जवाब देने के लिए टिप्पणी में cassi.lup तक।

रेल 4.2.3 पर परीक्षण किया गया।

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