RailsプロジェクトにCoffeeScriptがあり、textareaを更新しようとしています。私のCoffeeScriptは次のとおりです。
$('#video_description').val(<%= @description %>")
返されるテキストは、YT gemからの文字列です(私のYouTubeビデオの1つからの説明)。例は次のとおりです。
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
キャリッジリターンの代わりに、テキスト文字列が必要です。
これを解決するためのどんな助けも素晴らしいでしょう。
使用escape_javascript()
方法(ショートカット:j()
)
$('#video_description').val("<%= j(@description) %>");
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加