El método escape_javascript en ActionView escapa el apóstrofo '
como una barra invertida apostrofista \'
, que produce errores al analizar como JSON.Rails escape_javascript crea JSON no válido escapando comillas simples
Por ejemplo, el mensaje "Estoy aquí" es JSON válida cuando se imprimen en:
{"message": "I'm here"}
Pero, <%= escape_javascript("I'm here") %>
salidas "I\'m here"
, lo que resulta en JSON válido:
{"message": "I\'m here"}
¿Existe una parche para solucionar esto, o una forma alternativa de escaparse de cadenas al imprimir en JSON?
Esto no funciona si la cadena es HTML, por ejemplo, y tiene comillas dobles en la cadena, por ejemplo. – margusholland
@margusholland - no es cierto - .to_json maneja el escape de comillas dobles perfectamente – Neall
'" foo'bar ".to_json' outputs' "foo'bar" ' –