我在Rails项目中有一些CoffeeScript,我正试图用它来更新文本区域。我的CoffeeScript是:
$('#video_description').val(<%= @description %>")
返回的文本是YT gem(来自我的YouTube视频之一的描述)中的字符串。一个示例可以是:
Testing that this works
Does this work?
当我加载页面并使用Chrome中的开发人员工具对其进行检查时,CoffeeScript看起来像:
$('#video_description').val("Testing that this works
Does this work?")
新行避免了CoffeeScript对解释器的理解,并引发了以下消息:
Uncaught SyntaxError: Invalid or unexpected token
我尝试将CoffeeScript替换为:
$('#video_description').val(<%= h @description %>")
这没有任何作用(除了转义实际字符串中的所有单引号)。这与字符串按原样放入引号中有关。
我需要文本字符串包含\n
而不是回车符。
解决这个问题的任何帮助都很好。
答案 0 :(得分:1)
使用escape_javascript()
方法(快捷方式:j()
)
$('#video_description').val("<%= j(@description) %>");