2011-11-17 16 views
5

FormBuilder#label yöntemi (see docs), verilen öznitelik için <label> etiketini döndürür. Kullanıcı etiket için metin sağlamazsa, i18n kitaplığı bir arama yapmak için kullanılır. Kontrollerin sırası: Benzer bir arama gerçekleştirir fakat <label> etiketindeki çıktı sarmak DEĞİLDİR yerde bir API yöntemiEtiket etiketi sarıcısı olmadan uluslararası etiket etiketini alın

  1. helpers.label.object.method
  2. object.class.human_attribute_name(method_name)
  3. method_name.humanize

var mı? Değilse, <label> etiketini FormBuilder#label tarafından döndürülen etiketten, uluslararasılaştırılmış dizenin içerebileceği başka bir html etiketi çıkarmadan dönmenin en iyi yolu nedir?

cevap

0

Şu an için, etiket etiketlerinin kaba kuvvetini sıyırma işlemini yapan aşağıdaki koda sahibim. ... Daha iyi çözümler için

label(attribute,text).gsub(/^<label(.*?)>/,'').gsub(/<\/label>$/,'')

+0

görünce hiçbiri, bunu kabul edeceğiz. –

0

Looking Evet, Class.human_attribute_name(attribute), eski kullanabilirsiniz:

Person.human_attribute_name("first_name") # => "First name" 
# you can also use :first_name 

Source

+2

Bu yalnızca özellik adını etiket olarak kullanmak istiyorsanız doğru olur. –