2012-05-23 12 views
14

मैं संग्रह वस्तुओं के लिए लेबल का उपयोग करना चाहता हूं (उदाहरण के लिए, उनके अनुवाद)।simple_form संग्रह लेबल

= simple_form_for(@client) do |f| 
    = f.error_notification 
    .form-inputs 
     = f.input :name, label: t('client.name') 
     = f.input :level, collection: ['a', 'b', 'c'], 
     label_method: ???? 
     label: t('client.level') 
    .form-actions 
     = f.button :submit, value: t('client.submit') 

मैं यह पता लगाने की है, क्या इसके बाद के संस्करण label_method के लिए उपयोग करने के लिए कोशिश कर रहा हूँ। मैं map {|s| t("client.#{s}")} में अनुवादों के लिए मानचित्र करने के लिए label_method रखना चाहता हूं।

उत्तर

41

आप पहले से ही एक लेबल विधि की जरूरत नहीं है, तो आप परिणाम प्राप्त करने के एक लैम्ब्डा पारित कर सकते हैं आप

label_method: ->(obj){ t("client.#{obj}") } 
+0

परफेक्ट चाहते हैं, धन्यवाद! यह पहली बात है कि मुझे पहले क्या याद आया: यह स्ट्रिंग के चारों ओर डबल उद्धरण चिह्न ('" ') में बदलें ताकि यह' # {obj} 'प्रतिस्थापन करेगा। –

+0

मुझे प्रत्येक संग्रह तत्व से पहले एक HTML टैग जोड़ना होगा] (https://stackoverflow.com/questions/47758782/how-do-you-add-a-tag-before-each-radio-button-in-simple-form) और यह समाधान मेरे लिए भी वास्तव में सहायक रहा है । –

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