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 %>'',
...
};