Ошибка времени выполнения Chartkick gem «не задан блок»

#ruby-on-rails #rubygems #shopify-app #chartkick

#ruby-on-rails #rubygems #Shopify-приложение #chartkick

Вопрос:

В настоящее время я пытаюсь отобразить график, показывающий выручку от магазина Shopify, час за часом. Итак, я пришел с этим :

В моем контроллере у меня есть это, которое возвращает JSON:

 @orders = ShopifyAPI::Order.find(:all)
  

И, на мой взгляд, у меня есть это:

 <%= line_chart @orders.group_by_hour_of_day(:created_at).count, xtitle: "Hour of the day", ytitle: "Profit in AED" %>
  

Затем при попытке запустить его локально у меня появляется ошибка «не задан блок».
Я искал в течение 2 дней, если это не синтаксическая ошибка, ничего не могу найти.

Я также пытался просто показать <%= line_chart @orders %> , и у меня есть пустая диаграмма. Итак, я гость, моя проблема заключается в том, когда я пытаюсь извлечь значение из JSON.

Спасибо за вашу помощь.

Комментарии:

1. @orders Пусто?

2. Что это за group_by_hour_of_day метод? Откуда это берется? Я предполагаю, что для этого требуется передача блока, и именно поэтому вы получаете эту ошибку.

3. Возможно, вы действительно хотели иметь @orders.group_by_hour_of_day(amp;:created_at) , что эквивалентно @orders.group_by_hour_of_day { |o| o.created_at } , но это только предположение.

4. @MarekLipka Действительно, только что попробовал, и ошибка исчезла, но показывает пустой график. Однако, когда я пытаюсь добавить сумму всех заказов, с amp; : <%= line_chart orders.group_by_hour_of_day(amp;:created_at).sum(:total_price), xtitle: "Hour of the day", ytitle: "Profit in AED" %> или без него, возвращается ошибка: неопределенный метод ` ‘ для:total_price:Symbol