7

我的控制器中有一个这样的 Ruby 数组:

 @location_list = [
        ['Mushrooms', 3],
        ['Onions', 1],
        ['Olives', 1], 
        ['Zucchini', 1],
        ['Pepperoni', 2]
      ]

在我看来,我是这样理解的:

location_list = "<%= @location_list.to_json %>";

但是如果我做警报(location_list),我会得到:

[[&quot;Mushrooms&quot;,3],[&quot;Onions&quot;,1],[&quot;Olives&quot;,1],[&quot;Zucchini&quot;,1],[&quot;Pepperoni&quot;,2]]

如果没有这些“,我如何获得通讯对象?

4

2 回答 2

26

尝试:

<%= raw @location_list.as_json %>

Usingto_json最终会渲染一个带有嵌入双引号的字符串,并且需要进行 JS 转义。这将是一个字符串,而不是一个数组。

于 2012-06-06T22:52:43.700 回答
-2

这对我有用:

<%= @location_list.to_s.gsub(''', '') %>

基本上用于.to_s将整个数组转换为字符串,然后通过.gsub(''','')将引号替换为空来删除引号。

于 2015-02-07T15:05:39.950 回答