2010-09-29 36 views
1

我將如何執行以下操作。RoR 3 - f.label嵌入了一個<span>標記 - howto

我當前的代碼是:

<%= f.label :email, html_escape("<span class=\"big\">Test</span>") %> 

這並不表明我想要什麼,因爲

<span class=\"big\">Test</span> 

顯示爲文本而不是HTML

我一直在想重寫FormBuilder,但我不知道我會如何做到這一點,尋找類似的東西並沒有解決我的問題。

此外,而不是測試我想顯示的變量:電子郵件。

我只是想解決我的問題:)

PS。我正在使用Rails 3.0。

回答

5

rails 3中的所有助手都是html_escape,所以不再需要它了。

不使用html_escape,它的工作正常。您需要使用原始

<%= f.label :email, raw("<span class=\"big\">Test</span>") %> 

或者你可以標記該鏈安全

<%= f.label :email, "<span class=\"big\">Test</span>".html_safe %> 
+0

你解決了我的問題,謝謝:) – NicoJuicy 2010-09-30 11:23:41

0

你是html_escape'跨度...這就是爲什麼span html顯示在您的網頁上。如果你擺脫了這一點,它會呈現爲HTML,這是你想要的。

+0

我本來是不使用html_escape,標準就被渲染爲文本。 我需要以上兩種方法之一(raw或.html_safe) – NicoJuicy 2010-09-30 11:27:23

+0

默認情況下,rails會在您的代碼中轉義html,所以如果您沒有使用html_escape,那麼這並不意味着rails不會爲您做到這一點。 @Dave Pirotte說得對,你不知道它是在逃離HTML。 – rmagnum2002 2013-06-06 10:03:26