Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Use ruby array for a javascript array in erb. Escaping quotes

Tags:

ruby

erb

i've found numerous things online for this but they dont work for me. am i missing something.

In my controller i have

@t = ["a","b","c"]

in the erb file that is 'callback' the @t renders like so:

["a", "b", "c"] 

i've done hacks to replace the " to proper ' symbols. I've read that to_json should work but it doesnt. The following does not work ["a","b","c"].to_json. The results are the same.

like image 709
Apples Avatar asked Sep 26 '11 21:09

Apples


1 Answers

to_json is working fine. What you're running into is Rails 3.x's XSS protection. There's a good article on this at Railscasts/ASCIIcasts. The gist, though, is that you need to use the raw or html_safe methods:

In your controller:

@t_json = @t.to_json.html_safe

OR in your view:

<%= raw @t %>
like image 117
Jordan Running Avatar answered Nov 11 '22 02:11

Jordan Running