如何使用Rails将多行字符串插入coffeescript / jquery值

时间:2018-11-08 10:33:19

标签: html ruby-on-rails coffeescript

我在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而不是回车符。

解决这个问题的任何帮助都很好。

1 个答案:

答案 0 :(得分:1)

使用escape_javascript()方法(快捷方式:j()

$('#video_description').val("<%= j(@description) %>");