Unterminated string literal, how to properly send strings


#1

I have a line like the following in my Rails view/template (generating
JavaScript):

Because some of the error_descs have newlines, the browser is
receiving page code that looks like this:

y = escape(‘Information about the error.
Another line in the description.
A third line in the description string.’);

JavaScript is choking on the broken string with the error
“unterminated string literal”. What is the best practices way to
handle this, since apparently Rails’s h() isn’t removing newlines?


#2

On 9 Dec 2008, at 16:52, michael_teter wrote:

Because some of the error_descs have newlines, the browser is
receiving page code that looks like this:

y = escape(‘Information about the error.
Another line in the description.
A third line in the description string.’);

to_json ?

Fred


#3

I believe I found the solution I was looking for - escape_javascript
().

Seems obvious now, but somehow I hadn’t encountered it (and amazingly,
none of my searches for “rails javascript unterminated literal string”
turned up this useful function. It’s part of the Rails JavaScript
helpers.