7

値がすべて大文字のオブジェクトがありf.label、CSS 変換を実行することなく、ヘルパーにすべて大文字で出力させたいと考えています。

現在、AAPLオブジェクトに文字列がある場合、f.labelそれを として吐き出しますAapl

CSS 変換を使用したくない理由は、オブジェクトの値が常にすべて大文字である必要はないからです。f.labelできればCSSの悪ふざけなしで、dbに保存されているとおりに出力したいだけです。

それ、どうやったら出来るの?

4

2 に答える 2

17

何かが呼んでいるように聞こえhumanize()ます。これは、Rails が要素名をラベル タイトルに変換するときに発生するようです。おそらく、そのフォーム要素に明示的なラベルのテキストを定義する必要があります。

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

あるいは

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

もう 1 つのオプションは、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 に答える