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?
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
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.