6

我有一个要传递给视图的实例变量,@body.

@body是一个包含 html 的字符串。

<%= @body %>呈现字符串,而不是 html。如何在字符串中呈现 html?

可能的?

提前致谢!

4

2 回答 2

9

答案不再正确。Rails 3 会自动为您转义 html,因此当您在控制器中时:

@error = "<h1>OMG u broke teh intertubez!!111</h1>"

这将在不转义的情况下输出 HTML:

<%= raw @error %>

这两个都将转义 HTML:

<%= h @error %>
<%= @error %>
于 2012-02-08T13:49:08.767 回答
2

<%= @body %>如果您在@body. 在该变量中包含 html 有点奇怪,因为控制器不应该传递任何 HTML(控制器必须与视图无关)。

这就是为什么我们有一些辅助方法。制作一个生成一些 html 的辅助方法,并在您的视图中使用它。

于 2010-06-24T23:21:55.830 回答