ccl*_*lle 21 javascript ruby escaping ruby-on-rails special-characters
我正在尝试将字符串值分配给我的.erb文件中的javascript对象,如下所示:
var data = {
'name': '<%= @product.name %>',
...
};
Run Code Online (Sandbox Code Playgroud)
问题是,如果值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
编辑
@Stefan在MrYoshiji's回答中的评论对我有用.
MrY*_*iji 34
你可以用它escape_javascript()来完成:
var data = {
'name': "<%== escape_javascript @product.name %>",
#...
};
Run Code Online (Sandbox Code Playgroud)
链接:http: //api.rubyonrails.org/classes/ActionView/Helpers/JavaScriptHelper.html#method-i-escape_javascript
这种方法的别名是j:
var data = {
'name': "<%== j @product.name %>"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15682 次 |
| 最近记录: |