我有一个对象,其值都是大写,我希望f.label
助手将其打印为全部大写 - 而不必进行CSS转换。
现在,如果我的对象中有AAPL
字符串,f.label
会将其吐出Aapl
。
我不想使用CSS转换的原因是因为对象的值不总是需要全部大写。我只希望f.label
输出它与数据库中存储的完全相同 - 最好没有任何CSS恶作剧。
我该怎么做?
答案 0 :(得分:14)
听起来好像在调用humanize()
。当Rails将元素名称转换为标签标题时,似乎就会发生这种情况。您可能应该将标签的文本显式定义为表单元素。
<%= f.label(:aapl, 'AAPL') %>
甚至
<%= f.label(:aapl, @yourVar) %>
另一种选择可能是Rails提供的翻译能力。这适用于Rails&gt; 3.1!
在您看来:
<% form_for @post do |f| %>
<%= f.label :title %>
<%= f.text_field :title %>
<%= f.submit %>
<% end %>
在你的en.yml:
en:
helpers:
label:
post:
title: 'Your Title'
答案 1 :(得分:1)
试试这个:
f.label(topic).upcase.html_safe