我在.erb文件中有以下代码:

<% embed='<a href="http://someurl.com/whatever">#{@webcast.name}</a>'%>

<p id="embedCode">
    <pre>
        <code>
            <%= embed %>
        </code>
    </pre>
</p>

定位标记在屏幕上正确显示为文本,而不是作为dom元素呈现,但是字符串插值失败。 html已成功显示为文本,但未评估#{@webcast.name}。如果模板中包含,则将成功呈现网络广播名称。

最佳答案

因为用单引号分隔的字符串''不被插值。

将您的代码更改为例如:

<% embed = "<a href=\"http://someurl.com/whatever\">#{@webcast.name}</a>" %>

或(如果要避免屏蔽双引号字符")
<% embed = %(<a href="http://someurl.com/whatever">#{@webcast.name}</a>) %>

或者只是(感谢Samy Dindane的提示):
<% embed = "<a href='http://someurl.com/whatever'>#{@webcast.name}</a>" %>

关于html - 为什么erb模板中的字符串插值失败?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10650161/

10-12 01:06