如何将ActiveRecord查询结果转换为json以在RoR项目中提供D3?

时间:2017-01-18 21:18:03

标签: ruby-on-rails json ruby

我使用Ruby on Rails 5.0开发应用程序

我正在构建一个哈希数组来提供D3,它应该是这样的:

  

var errors = [               {index:-1,count:10},               {index:-2,count:40},               {index:-3,count:20},               {index:-4,count:60},               {index:-5,count:80},               {index:-6,count:30}];

格式化我的ActiveRecord查询,我在rails控制台上得到了这个结果:

var errors = <%= d3_chart_series_for(this_object).map { |measure| {index: measure.idx, count: measure.score}}.to_json   %>;
  

var errors =“[{\”index \“: - 1,\”count \“:\”96.74 \“},{\”index \“: - 2,\”count \“:\”93.5 \ “},{\” 指数\ “: - 3,\” 计数\ “:\” 91.3 \ “},{\” 指数\ “: - 4,\” 计数\ “:\” 97.05 \“}, {\ “指数\”: - 5,\ “计数\”:\ “96.07 \”},{\ “指数\”: - 6,\ “计数\”:\ “96.75 \”},{\“索引\ “: - 如图7所示,\” 计数\ “:\” 92.03 \ “},{\” 指数\ “: - 8,\” 计数\ “:\” 96.11 \ “}]”

差不多好!如何删除所有这些“以使其可读?

是否有一个简单的Ruby方法可供申请? 感谢

1 个答案:

答案 0 :(得分:0)

因为这是一个erb模板,你需要将json标记为html_safe

var errors = <%= d3_chart_series_for(this_object).map { |measure| {index: measure.idx, count: measure.score}}.to_json.html_safe   %>