Rails 3 Select_tag in javascript give missing ; error

When I write

var x = "<%= select_tag(:activity_group,

options_for_select(activity_grp),{:include_blank => ‘Create New
Group’, :style => ‘width: 100px’}) %>";
where <% activity_grp = @activity_group.map { |ag| [ag.name,
ag.id] } %>

However, I get error (missing ; before statement) in Firebug because

var x = “Create New GroupMovie

the code generated takes more than one line without concat the entire
output. I tried html_safe as well it does not works

Can anyone guide me who came across this error before?

On Tue, Oct 4, 2011 at 21:07, Viral [email protected] wrote:

var x = "<select id=“activity_group” name=“activity_group”

The problem is probably that you’re using double-quotes inside a
double-quoted string. Not sure if the ERB processing will process
this if you enclose the whole thing in single quotes, which would be
the easiest fix. If that doesn’t work (in many contexts, single
quotes are taken as “leave this stuff alone, don’t process it in any
way”), try escaping the interior double quotes before actually using
the var’s value. (Don’t just replace them with single quotes, since
many browsers don’t recognize those for attributes.)


LOOKING FOR WORK, preferably Ruby on Rails, in NoVa/DC; see main web
Main Web S.: davearonson.com
Programming Blog: codosaur.us
Excellence Blog: dare2xl.com

On Oct 6, 2:26pm, Dave A. [email protected]

many browsers don’t recognize those for attributes.)

An easy way of doing this is to use to_json, i.e.

var x = <%= select_tag(…).to_json %> since this turns what it is
called on into a json object, which is near a dammit a valid js
literal (apparently there is one of the unicode white space character
which is valid in json but has to be escaped in javascript (or vice
versa, I don’t quite recall), but I’ve never run into this in the
There’s also the escape_javascript helper


Thanks you guys for prompt response. It was helpful.