Metoda escape_javascript w ActionView wymyka się apostrofowi '
jako ukośnik odwrotny apostrof \'
, który podaje błędy podczas analizowania jako JSON.Szyny escape_javascript tworzy nieprawidłowy JSON przez ucieczkę pojedynczych cudzysłowów
Na przykład komunikat "Jestem tutaj" jest poprawny JSON po wydrukowaniu jak:
{"message": "I'm here"}
Ale <%= escape_javascript("I'm here") %>
wyjść "I\'m here"
, co skutkuje nieprawidłowym JSON:
{"message": "I\'m here"}
Czy istnieje łatka do naprawienia tego lub alternatywny sposób na ucieczkę ciągów podczas drukowania do JSON?
To nie działa, jeśli łańcuch jest na przykład HTML i ma na przykład podwójne cudzysłowy w łańcuchu. – margusholland
@margusholland - nie prawda - .to_json obsługuje unikalne podwójne cytaty idealnie – Neall
'" foo'bar ".to_json' wychodzi' "foo'bar" ' –