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 %>

h私は両方を試しましたがraw、どちらも機能しませんでしたが、機能html_safeしました。

理由はわかりませんが、将来の旅行者のために、私は Rails バージョン 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

データがどこから来ているかに応じて、 HTMLエスケープされないように、データをrawとしてマークできますか?

于 2012-08-25T14:10:23.887 に答える
0

CGI::unescapeHTMLを使用できます

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

それを元に戻す方法がわかりません。

上記の解決策は私にとってはうまくいきました。詳細については、このリンクを試してください。

于 2012-08-25T13:58:43.397 に答える