Use ruby array for a javascript array in erb. Esca

2020-02-12 04:47发布

问题:

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.

回答1:

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 %>


标签: ruby erb