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

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

在我的控制器中我有

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

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

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

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

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

在你的控制器中:

 @t_json = @t.to_json.html_safe 

或者在你看来:

 <%= raw @t %>