我有一个我传递给视图的intstance变量@body
。
@body
是一个包含html的字符串。
<%= @body %>
呈现字符串,而不是html。如何在字符串中呈现html?
可能的?
提前致谢!
答案 0 :(得分:9)
答案不再适用。 Rails 3会自动为你转义html,所以当你在控制器中时:
@error = "<h1>OMG u broke teh intertubez!!111</h1>"
这将输出HTML而不转义:
<%= raw @error %>
这两个都将逃脱HTML:
<%= h @error %>
<%= @error %>
答案 1 :(得分:2)
<%= @body %>
中有一些html, @body
会输出一些html。
由于控制器不应传递任何HTML(控制器必须与视图无关),因此在该变量中使用html有点奇怪。
这就是为什么我们有一些辅助方法。 创建一个生成一些html的帮助方法,并在您的视图中使用它。