在erb中使用ruby数组作为javascript数组.逃避报价

App*_*les 9 ruby erb

我在网上发现了很多东西,但它们对我不起作用.我错过了什么.

在我的控制器中我有

@t = ["a","b","c"]
Run Code Online (Sandbox Code Playgroud)

在'回调'的erb文件中,@ t呈现如下:

["a", "b", "c"] 
Run Code Online (Sandbox Code Playgroud)

我已经完成了黑客攻击以取代"正确的'符号.我已经读过to_json应该可以工作,但它没有.以下不起作用["a","b","c"].to_json.结果是一样的.

Jor*_*ing 22

to_json工作正常.您遇到的是Rails 3.x的XSS保护.在Railscasts/ASCIIcasts上有一篇很好的文章.但要点是,您需要使用rawhtml_safe方法:

在你的控制器中:

@t_json = @t.to_json.html_safe
Run Code Online (Sandbox Code Playgroud)

或者在你看来:

<%= raw @t %>
Run Code Online (Sandbox Code Playgroud)