我需要创建一个数组/哈希,然后通过数据标签将 Rails 中的数组/哈希传递到 Javascript。
Javascript 需要像这样格式化:
[{x: 1333065600000, title: 'Title', text: 'Text'}, {x: 1333065600000, title: 'Title', text: 'Text'}]
我在 Rails 中创建了一个辅助方法来创建这种类型的语法:
def flags
@flags = '['
@model.flags.each do |f|
@flags += "{ x: 1333065600000, title: '#{f.title}', text: '#{f.text}'},"
end
@flags += ']'
end
然后将数据传递给 Javascript,如下所示:
<%= content_tag 'div', '', id: 'container', data: {flags: flags} %>
HTML 源代码看起来是正确的,但是 's 是经过编码的。尽管如此,div 显示没有任何错误,但也没有任何标志。将确切的结果直接输入到 Javascript 中会正确显示标志。
我知道数据标签是自动 JSON 编码的,所以我也尝试使用标准的 HTML 数据标签和嵌套在其中的 ERB 标签,但遇到了同样的问题。
有谁知道问题可能是什么?任何帮助将不胜感激!