FormBuilder#label
方法(see docs)会返回给定属性的<label>
标记。如果用户没有为标签提供文本,则使用i18n库进行查找。支票的顺序是:
helpers.label.object.method
object.class.human_attribute_name(method_name)
method_name.humanize
是否有任何API方法执行类似的查找但不将输出包装在<label>
标记中?如果没有,那么从<label>
返回的标记中剥离FormBuilder#label
标记的最佳方法是什么,而不剥离国际化字符串可能包含的任何其他HTML标记。
答案 0 :(得分:0)
目前,我有以下代码可以强制剥离标签标签。寻找更好的解决方案......
label(attribute,text).gsub(/^<label(.*?)>/,'').gsub(/<\/label>$/,'')
答案 1 :(得分:0)
是的,您可以使用Class.human_attribute_name(attribute)
,例如:
Person.human_attribute_name("first_name") # => "First name"
# you can also use :first_name