javascript - Rails 在 HAML + Coffeescript 中使用数组

标签 javascript ruby-on-rails coffeescript haml

你好,我有以下例子,我不知道如何让它在 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}"
  })

这是它抛出的浏览器错误。 enter image description here 我怎样才能让它在 html.haml 文件中工作?看起来 raw 根本不起作用。 如果我不使用“原始”,那么它转换的格式是:

"[&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

关于javascript - Rails 在 HAML + Coffeescript 中使用数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46389262/

相关文章:

javascript - 如何让 Jasmine 始终显示规范列表?

javascript - 使用 AngularJS 防止在 Localstorage 中添加重复项

javascript - Nodejs - 加载一次模块并在许多不同的文件中使用

javascript - 如何在 JavaScript 中制作最快的自下而上的树转换器?我应该自己管理内存吗?

ruby-on-rails - 将 redirect_to 格式更改为 :js in Rails

ruby-on-rails - 当协议(protocol)为 https 时,Amazon S3 Assets 将不会加载,- Rails、Heroku

ruby-on-rails - rails 表单动态添加字段

coffeescript - 粗箭头 'this' 范围

javascript - 将 CoffeeScript 视为已编译的 JavaScript

javascript - Rails 3.1 是否包括整个 jQuery 库?