哪个更好?
<%= raw @item.description %>
或
<%= @item.description.html_safe %>
答案 0 :(得分:3)
如果您不在视图范围内,则无法访问raw
帮助程序(您可以将其包含在任何位置,但默认情况下,它在模型/控制器中不可用)。因此,在这些情况下,html_safe
是唯一合理的选择。
内视图?好吧,有raw
助手的源代码:
# actionpack-3.0.0/lib/action_view/helpers/raw_output_helper.rb
def raw(stringish)
stringish.to_s.html_safe
end
所以几乎没有区别,因为raw
只是调用#html_safe
答案 1 :(得分:1)
正如Radek所说,raw使用html_safe,但因为它首先转换为字符串,所以它避免了null异常。因此,原料稍好一点!