rails_xss,更喜欢raw或.html_escape?

时间:2010-10-03 15:44:28

标签: ruby-on-rails views

哪个更好?

<%= raw @item.description %>

<%= @item.description.html_safe %>

2 个答案:

答案 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异常。因此,原料稍好一点!