У меня есть гистограмма, которую я пытаюсь заполнить ответом JSON
. Я использую Rails 5 со встроенной функциональностью JBuilder.
Вот мой код:
def graph_data
@customers = Customer.all
@graph_data = {graph_type: "Customer Growth"}
@months = {}
x = 5
while x >= 0
@months[x.months.ago.strftime("%B")] = current_account.customers.where(:created_at => x.months.ago.beginning_of_month..x.months.ago.end_of_month).count
x = x - 1
end
@graph_data[:months] = @months
puts @graph_data.to_json
end
В строке puts @graph_data.to_json
выводится следующий текст:
{"graph_type":"Customer Growth","months":{"November":0,"December":0,"January":0,"February":0,"March":0,"April":3}}
как я и ожидал.
Однако, когда я вывожу фактический ответ JSON в моем файле graph_data.json.jbuilder
, вы получите
[["graph_type","Customer Growth"],["months",{"November":0,"December":0,"January":0,"February":0,"March":0,"April":3}]]
Моя цель состояла в том, чтобы получить ответ, который был бы больше похож на это:
{"graph_type":"Customer Growth","months":["November":0,"December":0,"January":0,"February":0,"March":0,"April":3]}
но я не знаю, как этого добиться с помощью jBuilder.
Вот содержимое моего graph_data.json.jbuilder
файла.
json.array! @graph_data
Заранее спасибо.