imd*_*rek 1 ruby ruby-on-rails
我有一个数组:
arr = ["foo", "bar"]
Run Code Online (Sandbox Code Playgroud)
要在某些Javascript中使用此数据,我需要inspect像这样使用:
series: [
{
data: <%= arr.inspect %>
}
]
Run Code Online (Sandbox Code Playgroud)
不幸的是,这会产生:
["foo", "bar"]
Run Code Online (Sandbox Code Playgroud)
这是Javascript无法读取的.我尝试使用HTMLEntities.new.decode和解码CGI.unescapeHTML,但仍然得到编码的双引号.
有任何想法吗?
编辑:这是在使用ERB的Rails应用程序中.
您不想使用inspect它,inspect用于生成用于调试,日志记录等的人类可读输出.如果要将数据转储到JavaScript中,请使用JSON:
data: <%=r arr.as_json %>
Run Code Online (Sandbox Code Playgroud)
这会给你一些类似的东西:
data: ["foo","bar"]
Run Code Online (Sandbox Code Playgroud)
并且所有内容都将被正确转义和编码以便在JavaScript中使用(因此在ERB中r为for raw).
| 归档时间: |
|
| 查看次数: |
340 次 |
| 最近记录: |