Я закончил тем, что добавил в свой application_helper.rb новый метод escape_json
, основанный на методе escape_javascript
, найденном в ActionView::Helpers::JavaScriptHelper
:
JSON_ESCAPE_MAP = {
'\\' => '\\\\',
'</' => '<\/',
"\r\n" => '\n',
"\n" => '\n',
"\r" => '\n',
'"' => '\\"' }
def escape_json(json)
json.gsub(/(\\|<\/|\r\n|[\n\r"])/) { JSON_ESCAPE_MAP[$1] }
end
Кто-нибудь знает лучший обходной путь, чем этот?