转义字符串 – 在Javascript中输出rails字符串
我正在尝试将字符串值分配给我的.erb文件中的javascript对象,如下所示:
var data = { 'name': '', ... };
问题是,如果name
的价值是Tom's small ears
,
data.name
的输出将是Tom's small ears
。
有没有办法逃脱特殊字符?
我尝试做'name': ''
但是Uncaught SyntaxError: Unexpected identifier
输出到控制台。
做输出
Tom\'s small ears
根据MrYoshiji's
回答编辑 @ Stefan的评论对我MrYoshiji's
。
您可以使用escape_javascript()
来实现:
var data = { 'name': "<%== escape_javascript @product.name %>", #... };
链接: http : //api.rubyonrails.org/classes/ActionView/Helpers/JavaScriptHelper.html#method-i-escape_javascript
这个方法的别名是j
:
var data = { 'name': "<%== j @product.name %>" }
var data = { 'name': '<%=j @product.name.html_safe %>', ... };