0

I have some CoffeeScript in my Rails project, with which I'm trying to update a textarea. My CoffeeScript is:

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

The returned text is a string from the YT gem (a description from one of my YouTube videos). An example can be:

Testing that this works
Does this work?

When I load the page and inspect it with the Developer Tools in Chrome, the CoffeeScript looks like:

$('#video_description').val("Testing that this works
Does this work?")

The new line avoids the CoffeeScript from making sense to the interpreter, and it raises the following message:

Uncaught SyntaxError: Invalid or unexpected token

I've tried replacing the CoffeeScript with:

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

This has no effect (other than to escape all the single quotes in the actual string). It has something to do with the fact the string is dropped into the quotes as is.

I need to have the text string to have \n instead of the carriage return.

Any help to solve this would be great.

1 Answer 1

1

Use the escape_javascript() method (shortcut: j())

$('#video_description').val("<%= j(@description) %>");
Sign up to request clarification or add additional context in comments.

1 Comment

Thank you so much. Greatly appreciated. I had no idea that's what the j() meant.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.