环境:ruby 1.8.7
一直以为 h 是rails里的源码 ,其实是ruby里的erb.rb 中封装的
rails中,在页面输出的时候,h方法很常用 ,html , javascript ,ifream 都是源码输出,不会被浏览器执行了,其实现原理非常之简单
我的理解:
正常情况下要显示一段字符串只要在rails生成的.html.erb文件中用以下方法就行了:
<%= “abcdefg” %> #显示为abcdefg
但是如果要显示的字符里有特殊的html字符呢?如< > & " 等,这个时候就需要把这些字符转义成< > & " 等。<%= h %> 方法就是实现了这么一个功能。
例如:
rails 中 h 使用方法:
生成页面源码:
<strong>HEY</strong> <!-- 效果加粗输出 --> <strong>HEY</strong> <!-- 浏览器显示 : <strong>HEY</strong> -->