2010-12-01 2 views
3

form_forラベルタグ内に要素をネストしたいとします。私はこれをやりたいので、ラベルの特定の部分をCSSルールでターゲットにすることができます。この場合、テキストを赤くします。いくつかの素早い読書から、これは有効なHTMLのように見えますが、そのアイディアはRailsで楽しく遊べないものの、私のデザインに合っています。HTML内のHTML <span>の中にform_forラベルタグを入れますか?

希望HTML出力は、このようなものです:
<label for="zip">ZIP Code -<span class="required">Required</span></label>

私の現在のコードは次のようになります。
<%= form.label :zip, 'ZIP Code -<span class="required">Required</span>' %>

問題は、それがとして表示されるように、Railsは何とか内部spanタグをエスケープしていることですHTMLの代わりにページのテキスト。これはページに表示されます:
ZIP Code -<span class="required">Required</span>

答えて

7

Rails3は自動的に文字列をエスケープします。ラベルに入れている文字列で#html_safeを呼び出す必要があります。詳細については、http://yehudakatz.com/2010/02/01/safebuffers-and-rails-3-0/を参照してください。

+0

ハハハの小さな世界。あなたに会えてよかったです。私はミシガン州のあなたの同僚とここで働いていますが、おそらくあなたは私のことを聞いたことはありません。 – Nick

+0

ああ、#html_safeへのポインタのおかげで - 私はRails3の自動エスケープについて知っていましたが、lablesやhtml_safeについては適用されませんでした。 – Nick

+0

ええ、それは確かに小さな世界です! – karmajunkie

関連する問題