如何将旧符号转换为新的ruby 1.9哈希语法?

时间:2013-04-04 14:35:24

标签: ruby-on-rails-3 morris.js

我正在使用morris.js在我的应用程序中显示图表。在我的控制器中,我有代码:

控制器

@users_count = User.group('DATE(created_at)').count.map do |d, c| {date: d, count: c} end

从此我得到:

[{:date=>'2013-04-01', :count=>1}, {:date=>'2013-04-02', :count=>1}]

当我尝试将此作为数据选项传递给morris.js时,它不起作用。我需要将其转换为:

[{date: '2013-04-01', count: 1}, {date: '2013-04-02', count: 1}]

然后它有效。

我该怎么做?

1 个答案:

答案 0 :(得分:3)

这与旧的和新的哈希语法无关。您无法将输出转换为新语法。它将始终使用旧语法。莫里斯期望的可能是一个JSON字符串。你可以使用.to_json来获得它。

对结果使用to_json并将其传递给morris。

@users_count = User.group('DATE(created_at)').count.map { |d, c| {date: d, count: c} }.to_json