Unterminated string literal, how to properly send strings

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.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs