【问题标题】:How to insert multi line string into coffeescript/jquery value with Rails如何使用 Rails 将多行字符串插入到 coffeescript/jquery 值中
【发布时间】:2019-04-11 20:28:59
【问题描述】:

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

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

【问题讨论】:

    标签: html ruby-on-rails coffeescript


    【解决方案1】:

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

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

    【讨论】:

    • 非常感谢。不胜感激。我不知道这就是 j() 的意思。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-26
    • 2017-02-04
    • 1970-01-01
    • 2022-12-22
    • 2015-08-02
    • 2013-10-23
    • 2021-12-22
    相关资源
    最近更新 更多