unescape - Cadena de escape-Cadena de rieles de salida en Javascript
javascript html encode (2)
Puedes usar escape_javascript() para lograr eso:
var data = {
''name'': "<%== escape_javascript @product.name %>",
#...
};
El alias de este método es j :
var data = {
''name'': "<%== j @product.name %>"
}
Esta pregunta ya tiene una respuesta aquí:
Estoy tratando de asignar un valor de cadena a un objeto javascript en mi archivo .erb de esta manera:
var data = {
''name'': ''<%= @product.name %>'',
...
};
El problema es, si el valor del name es Tom''s small ears ,
la salida de data.name sería las Tom's small ears .
¿Hay una manera de escapar de los caracteres especiales?
Intenté hacer ''name'': ''<%= raw @product.name %>'' pero Uncaught SyntaxError: Unexpected identifier obtiene salida en la consola.
Hacer <%= escape_javascript @product.name %> produce Tom/'s small ears
El comentario de Edit @ Stefan bajo MrYoshiji''s respuesta MrYoshiji''s funcionó para mí.
var data = {
''name'': ''<%=j @product.name.html_safe %>'',
...
};