Rails在HAML中使用数组+ + Coffeescript

问题描述:

你好,我有下面的例子,我想不出如何使它在html.haml中工作。Rails在HAML中使用数组+ + Coffeescript

实施例1(工作):

# In html.erb file 
<% @my_array = ['1, '2'] %> 

<script> 
    window.running_cycler = new MyAwesomeClass({ 
    custom_data: <%= raw @my_array %> 
    }); 
</script> 

实施例2(不工作)

# In html.haml file 
- @my_array = ['1', '2'] 

:javascript 
    window.running_cycler = new MyAwesomeClass({ 
    custom_data: "#{raw @my_array}" 
    # or 
    # custom_data: "#{@my_array}" 
    }) 

这是它引发浏览器误差。 enter image description here 我如何使它在html.haml文件中工作?看起来生吃根本不起作用。 如果我不使用“生”,那么它就会被转换的格式为:

"[&quot;1&quot;, &quot;8&quot;]" 

enter image description here

请帮助。谢谢!

您可以使用单引号和raw

- @my_array = ['1', '2'] 

:javascript 
    window.running_cycler = { 'custom_data': '#{raw @my_array}' } 
    console.log(JSON.parse(window.running_cycler.custom_data).length) 
    // 2 
+0

您好,感谢您的回答。它适用于JSON.parse('#{raw @my_array}')。不过,我很困惑,我必须明确地调用JSON.pase,而Coffeescript应该这样做。 –

+1

显然,'window.running_cycler = {custom_data:#{raw @my_array}}'也在工作。 –