7

我有一个对象,其值都是大写字母,我希望f.label助手将其打印为所有大写字母 - 无需进行 CSS 转换。

现在,如果我的AAPL对象中有字符串,f.label则将其吐出为Aapl.

我不想使用 CSS 转换的原因是因为对象的值并不总是需要全部大写。我只想f.label完全按照它存储在数据库中的方式输出它 - 最好没有任何 CSS 恶作剧。

我怎么做?

4

2 回答 2

17

听起来好像有什么东西在召唤humanize()。这似乎发生在 Rails 将元素名称转换为标签标题时。可能您应该为它的表单元素明确定义标签的文本。

<%= f.label(:aapl, 'AAPL') %>

甚至

<%= f.label(:aapl, @yourVar) %>

您的另一个选择可能是 Rails 提供的翻译功能。这对 Rails > 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'
于 2012-10-04T09:38:49.743 回答
1

试试这个:

f.label(topic).upcase.html_safe
于 2013-10-29T13:11:46.243 回答