我有一个功能:
def div
"<div>blah</div>"
end
并在视图中:
<%= div %>
但是在结果页面源中:
<div>blah</div>
而不是实际的字符串文本。
但是,控制台会显示正确的标签。
<% logger.info(div) %>
控制台中的输出:
<div>blah</div>
有人可以帮忙吗?
答案 0 :(得分:3)
请改用它。
<%= raw div %>
Rails 3在视图中转义来自服务器的所有内容,如果您确定信任该数据,则可以使用raw
。
答案 1 :(得分:3)
或者,如果您希望能够使用
<%= div %>
在您的视图中,您可以像这样定义您的功能,它也可以使用:
def div
"<div>blah</div>".html_safe
end
答案 2 :(得分:0)
是的,在Rails 2中,默认情况下文本是原始的,现在在Rails 3中它们反之亦然