4

我有以下行:

data: <%= @product_count.to_json %>

呈现:

data: [[&quot;name1&quot;,20],
      [&quot;name2&quot;,9],
      [&quot;name3&quot;,18],
      [&quot;name4&quot;,32],
      [&quot;name5&quot;,28],
      [&quot;name6&quot;,17],
      [&quot;name7&quot;,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) %>它失败了。

4

4 回答 4

7

我最终使用: data: <%= @product_count.to_json.html_safe %>

我都试过了hraw但都没有,但是,html_safe做到了。

不知道为什么,但对于未来的旅行者,我使用的是 3.2.7 版。

于 2012-08-25T14:27:31.367 回答
3

尝试

data:    <%= raw @product_count.to_json %>

或者

data:    <%= @product_count.to_json.html_safe %>
于 2012-08-25T14:28:06.237 回答
0

你可以使用CGI::unescapeHTML

> CGI::unescapeHTML("Usage: foo &quot;bar&quot; &lt;baz&gt;")
=> "Usage: foo \"bar\" <baz>"

并将其转换回来。我不知道如何防止它。

上述解决方案对我有用。更多请尝试此链接。希望这会有所帮助。

于 2012-08-25T13:58:43.397 回答
0

根据数据的来源,您可以将其标记为原始数据,以便它不会被 html 转义吗?

于 2012-08-25T14:10:23.887 回答