标签: ruby-on-rails erb ruby-on-rails-3
我发现here语法如下:
<%=h @person.first_name %>
h的含义是什么?
h
答案 0 :(得分:11)
用于转义标记的输出以避免跨站点脚本。在rails 3中,它被更改为字符串的默认值(因此,不是说转义此字符串,你说,这是一个安全的字符串)。
http://api.rubyonrails.org/classes/ERB/Util.html#method-c-h
答案 1 :(得分:4)
h是Rails中html_escape方法的别名。
如果你没有使用h转义文本,那么有人可以在那里编写javascript,它会在你呈现页面时执行。
因此,如果您不确定所显示的数据是绝对安全的,请通过转义HTML标记字符的过滤器运行它。