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}"
})
这是它引发浏览器误差。 我如何使它在html.haml文件中工作?看起来生吃根本不起作用。 如果我不使用“生”,那么它就会被转换的格式为:
"["1", "8"]"
请帮助。谢谢!
答
您可以使用单引号和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
您好,感谢您的回答。它适用于JSON.parse('#{raw @my_array}')。不过,我很困惑,我必须明确地调用JSON.pase,而Coffeescript应该这样做。 –
显然,'window.running_cycler = {custom_data:#{raw @my_array}}'也在工作。 –