当我生成默认支架时,show.html.erb上的显示标签有
<%=h @broker.name %>
我知道之间的区别<%
和<%=
.什么是"h"呢?
html逃脱.这是一种将<和>之类的东西转换为数字字符引用的方法,这样渲染就不会破坏你的html.
<%=h
实际上发生了两件事.你打开一个erb标签(<%=
)并调用Rails方法h
来转义所有符号.
这两个电话是等价的:
<%=h person.first_name %> <%= h(person.first_name) %>
该h
方法通常用于从用户输入表单中转义HTML和Javascript.
h
为方法别名html_escape
从ERB ::的Util类.
Rack::Utils.escape_html
如果您在Metal中并且想要转义某些HTML ,Rack中还有一种方法可以转义HTML.