Rails 在 HAML + Coffeescript 中使用数组

Rails use array in HAML + Coffeescript

你好,我有以下例子,我不知道如何让它在 html.haml 中工作。

示例 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 文件中工作?看起来 raw 根本不起作用。 如果我不使用 'raw' 那么它转换的格式是:

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

请帮忙。谢谢!

您可以使用单引号和 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