我有一個intstance變量,我傳遞給一個視圖,@body
。如何從Rails實例變量呈現HTML?
@body
是一個帶有html的字符串。
<%= @body %>
呈現字符串,而不是html。我如何呈現字符串中的HTML?
可能嗎?
在此先感謝!
我有一個intstance變量,我傳遞給一個視圖,@body
。如何從Rails實例變量呈現HTML?
@body
是一個帶有html的字符串。
<%= @body %>
呈現字符串,而不是html。我如何呈現字符串中的HTML?
可能嗎?
在此先感謝!
<%= @body %>
會輸出一些html,如果你有一些html在@body
。 由於控制器不應該傳遞任何HTML(該控制器必須與視圖無關),所以在該變量中使用html有點奇怪。
這就是爲什麼我們有一些輔助方法。 建立一個幫助器方法來生成一些html,並在你的視圖中使用它。
答案並非如此。 Rails 3的自動轉義HTML你,所以當你在一個控制器:
@error = "<h1>OMG u broke teh intertubez!!111</h1>"
這將輸出的HTML沒有逃脫:
<%= raw @error %>
而且兩者的,這將難逃HTML:
<%= h @error %>
<%= @error %>
Doh!我正在使用<%=h %>。我理解視圖不可知論的事情,這只是一個奇怪的情況,我通過html格式的電子郵件來查看。謝謝! – Stirman 2010-06-24 23:35:25
h()會逃離你的html :) – 2010-06-24 23:36:35