ActionView中的escape_javascript方法将撇号'
转义为反斜杠撇号\'
,当解析为JSON时会出现错误。
例如,消息“我在这里”在打印为以下内容时是有效的JSON:
{"message": "I'm here"}
但是,
<%= escape_javascript("I'm here") %>
输出"I\'m here"
,导致无效的JSON:{"message": "I\'m here"}
是否有补丁可以解决此问题,或者在打印到JSON时有替代方法可以转义字符串?
最佳答案
只需在字符串上调用.to_json,它将被正确地转义,例如
"foo'bar".to_json
关于ruby-on-rails - Rails escape_javascript通过转义单引号来创建无效的JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2715994/