我正在使用ERB引擎 http://www.ruby-doc.org/stdlib-1.9.2/libdoc/erb/rdoc/ERB.html生成我的 Rails 网站页面的离线 HTML 版本。当 Rails 显示时,该页面显示得很好,但我自己使用 ERB 生成时遇到了麻烦(尽管使用相同的 ERB 模板)。
首先我收到错误undefined method 't'
我通过替换所有解决了这个问题<%=t(...)%>
打电话给<%=I18n.translate(...)%>
.
现在我明白了undefined method 'raw'
。我应该全部更换吗<%=raw(...)%>
打电话还有别的事吗?如果是的话,什么?
raw
在actionpack/action_view库中被定义为助手,因此如果没有rails,您将无法使用它。但 ERB 模板显示其输出,没有任何转义:
require 'erb'
@person_name = "<script>name</script>"
ERB.new("<%= @person_name %>").result # => "<script>name</script>"
也正因如此,以逃跑为目的ERB::Util#html_escape
method
include ERB::Util
ERB.new("<%= h @person_name %>").result # => "<script>name</script>"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)