【问题标题】:What does <%=h ... %> means in Rails?<%=h ... %> 在 Rails 中是什么意思?
【发布时间】:2010-12-15 10:21:15
【问题描述】:

我发现here 的语法如下:

<%=h @person.first_name %>

h 是什么意思?

【问题讨论】:

  • 我已经有一段时间没有使用它了,但我相信它的意思是“放弃 html 格式”。

标签: ruby-on-rails erb ruby-on-rails-3


【解决方案1】:

用于转义标签的输出以避免跨站点脚本。在 rails 3 中,它已更改为字符串的默认值(因此,与其说转义此字符串,不如说这是一个安全字符串)。

http://api.rubyonrails.org/classes/ERB/Util.html#method-c-h

【讨论】:

    【解决方案2】:

    h 是 Rails 中 html_escape 方法的别名。

    如果你不使用 h 转义文本,那么有人可以在那里编写 javascript,它会在你渲染页面时被执行。

    因此,如果您不确定所显示的数据是否绝对安全,请通过转义 HTML 标记字符的过滤器运行它。

    【讨论】:

      猜你喜欢
      • 2010-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-14
      • 2023-04-09
      • 1970-01-01
      • 2011-08-12
      相关资源
      最近更新 更多