我想扩展ERB以便每个输出标记 - <%=%> - 在呈现结果之前预处理内容。
例如,
<%= 'test' %>
现在应该呈现
!test!
而不是
test
我该怎么做?
答案 0 :(得分:0)
没有直接的方法可以做到这一点。也许你可以定义:
class String; def bang; "!#{self}!" end end
并做
<%= "test".bang %>
答案 1 :(得分:0)
这样的东西? (另)
require 'erb'
template = File.read(template_file)
template.gsub!(/<%=(.*?)%>/, '!\1!')
erb = ERB.new(template)
result = erb.result