我有一个要传递给视图的实例变量,@body
.
@body
是一个包含 html 的字符串。
<%= @body %>
呈现字符串,而不是 html。如何在字符串中呈现 html?
可能的?
提前致谢!
我有一个要传递给视图的实例变量,@body
.
@body
是一个包含 html 的字符串。
<%= @body %>
呈现字符串,而不是 html。如何在字符串中呈现 html?
可能的?
提前致谢!
答案不再正确。Rails 3 会自动为您转义 html,因此当您在控制器中时:
@error = "<h1>OMG u broke teh intertubez!!111</h1>"
这将在不转义的情况下输出 HTML:
<%= raw @error %>
这两个都将转义 HTML:
<%= h @error %>
<%= @error %>
<%= @body %>
如果您在@body
. 在该变量中包含 html 有点奇怪,因为控制器不应该传递任何 HTML(控制器必须与视图无关)。
这就是为什么我们有一些辅助方法。制作一个生成一些 html 的辅助方法,并在您的视图中使用它。