我正在尝试在我的.erb文件中将一个字符串值分配给JavaScript对象,就像这样:
var data = {
'name': '<%= @product.name %>',
...
};
问题在于,如果name
的值为Tom's small ears
,
data.name
的输出将会是Tom's small ears
。
有没有一种方法可以转义特殊字符?
我尝试使用'name': '<%= raw @product.name %>'
,但在控制台中输出Uncaught SyntaxError: Unexpected identifier
。
使用<%= escape_javascript @product.name %>
会输出Tom\'s small ears
。
编辑
在MrYoshiji
的回答下,@Stefan的评论对我有效。
Tom\'s small ears
。 - cclervTom\'s small ears
。尝试在视图中直接打印<%= j @product.name %>
(而不是在 JavaScript 标签中),看看输出是否符合预期。 - MrYoshiji'
,请尝试使用<%==
而不是<%=
。 - Stefan