unterminated string literal, how to properly send strings

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

<script type="text/javascript">
...
y = escape('<%= h(e.error_desc) %>');
...
</script>

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?

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

<script type="text/javascript">
...
y = escape('<%= h(e.error_desc) %>');
...
</script>

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.