erb 文件中的转义字符

Escape character in erb file

我正在尝试在 puppet 中包含一个 erb 文件。但是该文件包含如下行:

<%@ taglib prefix="ww" uri="webwork" %>
<%@ taglib prefix="ui" uri="webwork" %>
<%@ taglib prefix="aui" uri="webwork" %>
<%@ taglib prefix="page" uri="sitemesh-page" %>

当我 运行 puppet 时,显示语法错误
'@ ' 不允许作为实例变量名。

如何转义这个字符@

你的问题在这里基本已经得到解答:How do I escape the ERB tag in ERB.

您无法转义 @ 字符本身;您需要 "escape" ERB 标签,使用序列 <%% 表示您想要文字字符串 <%.

因此,将您的 ERB 代码更改为:

<%%@ taglib prefix="ww" uri="webwork" %>
<%%@ taglib prefix="ui" uri="webwork" %>
<%%@ taglib prefix="aui" uri="webwork" %>
<%%@ taglib prefix="page" uri="sitemesh-page" %>