Javascript 从Ruby数组到Rails中的JS数组-';引用';?

Javascript 从Ruby数组到Rails中的JS数组-';引用';?,javascript,ruby-on-rails-3,json,Javascript,Ruby On Rails 3,Json,我的控制器中有这样一个Ruby数组: @location_list = [ ['Mushrooms', 3], ['Onions', 1], ['Olives', 1], ['Zucchini', 1], ['Pepperoni', 2] ] 在我看来,我是这样理解的: location_list = "<%= @location_list.to_json %>"; 如果没有这些,如何

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

 @location_list = [
        ['Mushrooms', 3],
        ['Onions', 1],
        ['Olives', 1], 
        ['Zucchini', 1],
        ['Pepperoni', 2]
      ]
在我看来,我是这样理解的:

location_list = "<%= @location_list.to_json %>";
如果没有这些,如何获取对应对象?

请尝试:

<%= raw @location_list.as_json %>

使用
to_json
将最终呈现一个带有嵌入双引号的字符串,并且需要进行JS转义。它将是一个字符串,而不是数组。

这对我来说很有效:

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

我试过了。主要的问题是,在使用原始或html_-safe时,当尝试使用该变量时,我会看到“意外标识符”(在控制台中)。即使我看到源代码,我也会看到:变量位置_-list=“[[“蘑菇”,3],“洋葱”,1],“橄榄”,1],“西葫芦”,1],“意大利香肠”,2];console.log(位置列表);--会发生什么事?@HommerSmith你打算怎么用它?而且,如果它实际上是这样引用的,那么它是一个字符串,而不是一个数组;您是否尝试过将
作为\u json
?我只是想在控制台中显示它…基本上我想将一个数组从Ruby传递到JS…如果我将Ruby数组更改为如下所示:@location\u list=[1,3,4]--我没有收到该错误。只有当数组中有字符串时,我才能在chrome控制台中获得“意外标识符”。@HommerSmith我是说,如果它是这样引用的,那将是一个错误——难道你看不出嵌入双引号的双引号字符串是JS语法错误吗?这就是为什么我说使用
作为_json
,它不会引用它。
<%= @location_list.to_s.gsub(''', '') %>