我有以下一行:
data: <%= @product_count.to_json %>
呈现:
data: [["name1",20],
["name2",9],
["name3",18],
["name4",32],
["name5",28],
["name6",17],
["name7",11]]
在视图中。如何更改此设置,以便获取实际引号而不是HTML。
数据来自这一行:
period_registration_product.each do |key, value|
@product_count << [Product.find_by_id(key).name, value]
end
更新
我试过了:data: <%= JSON.parse(@product_count.to_json) %>
但它失败了。
答案 0 :(得分:6)
我最终使用:data: <%= @product_count.to_json.html_safe %>
我同时尝试了h
和raw
,但这些都没有,html_safe
做到了。
不确定原因,但对于未来的旅行者,我在轨道版本3.2.7。
答案 1 :(得分:3)
尝试
data: <%= raw @product_count.to_json %>
或
data: <%= @product_count.to_json.html_safe %>
答案 2 :(得分:0)
您可以使用CGI::unescapeHTML
> CGI::unescapeHTML("Usage: foo "bar" <baz>")
=> "Usage: foo \"bar\" <baz>"
并将其转换回来。我不知道如何防止它。
上述解决方案对我有用。更多尝试这个link。希望这会有所帮助。
答案 3 :(得分:0)
根据数据的来源,您可以将其标记为raw,以便不对其进行html转义吗?