2013-04-04 3 views
0

Я использую morris.js для отображения диаграмм в моем приложении. В мой контроллер у меня есть код:Как преобразовать из старого символа в новый синтаксис ruby ​​1.9?

контроллер

@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

Это не имеет никакого отношения к синтаксису старого синтаксиса. Вы не можете преобразовать вывод в новый синтаксис. Он всегда будет использовать старый синтаксис. То, что ожидает Моррис, вероятно, является строкой JSON. Вы можете получить его, используя '.to_json'. Итак, ответ Аржана верен. Это объяснение его ответа не хватает. – Mischa

+0

Спасибо @Mischa. Я обновил свой андерсер с вашими объяснениями. – Arjan

ответ

3

Это не имеет никакого отношения к синтаксису старого синтаксиса. Вы не можете преобразовать вывод в новый синтаксис. Он всегда будет использовать старый синтаксис. То, что ожидает Моррис, вероятно, является строкой JSON. Вы можете получить его, используя .to_json.

Используйте to_json на свой результат и передайте это morris.

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

Это работа как шарм, спасибо! –

 Смежные вопросы

  • Нет связанных вопросов^_^