コンテクスト :
Railsデータベースからデータを収集し、jqPlotを使用して円グラフを作成しようとしています。
jqplotがevent.nameから生成された文字列を理解しないため、私の問題が発生します。Railsを経由せずに手動でいくつかの文字列を挿入すると、正常に機能します。nエスケープ文字と関係があると思います。
Firebugから得られるエラーはを示していますevents = [["Title", 1234566]]
。したがって、jqplotは"Title"
、キーとしてこのチャートを作成しようとします。それは好きではありません。
html_safeを使用してみましたが、役に立ちませんでした。
コード:
<% things = [] %>
<% @topEvents.each do |event| %>
<% things << [event.name, event.total] %>
<% end %>
$.jqplot('topEvents', [ <%= things %> ], {
seriesDefaults : {
renderer : jQuery.jqplot.PieRenderer,
rendererOptions : {
showDataLabels: true
}
}
});
環境 :
- Ruby 1.9.3
- Rails 3.2.6
- SQLite3 3.6.20
- jquery-rails 2.0.2(RubyGem)
- JQuery 1.7.2
- jqplot1.0.0_r1012。