Показать только одну запись таблицы «Заказ» - PullRequest
0 голосов
/ 19 марта 2020

Я хочу отобразить только одну запись таблицы Order (используя HAML) Что-то вроде этого:

-orders.each do |order|
  = pie_chart order.group(:used_by,:packeges_ordered)
end

Я получаю "неопределенный метод` group "для #Order: 0x00007ff63f66f340"

Когда я пишу = pie_chart order, тогда отображаются все мои столбцы этой записи. Но я хочу показать только 2/3, как used_by / packeges_ordered.

Но я всегда получаю сообщение об ошибке (Невозможно сгруппировать, неопределенный метод для заказа и т. Д. c.) Как я могу ограничить столбцы только одной записи ?

Когда я делаю это для многократного заказа, все работает нормально:

orders.group(:title).sum(:used_by)
orders.group(:title).group_by_month(:created_at, format: "%m %Y").sum(:price)

Может быть, это проблема с рельсами idk.

Спасибо

Ответы [ 3 ]

0 голосов
/ 19 марта 2020

Я предлагаю вам ввести свой метод

def packeges_ordered_orders(orders)
  orders.each do |order|
    order.group(:used_by,:packeges_ordered)
  end
end

в orders_helper_method.rb

, а затем просто использовать его в своем представлении HAML, например

= packeges_ordered_orders(@orders)
0 голосов
/ 19 марта 2020

Я пытаюсь сделать это сейчас:

помощник

модуль UsersHelper def packages_ordered_orders (orders) orders.each do | order | pie_chart order.group: 1012 * неопределенный метод `group 'для заказа ...

нужна помощь: S

0 голосов
/ 19 марта 2020

Вам нужно передать га sh в chartkick, волхвы c здесь на самом деле, что в рельсах используется агрегатная функция (например, count, max et c.) На * Отношение 1004 * ed дает ха sh этих карт groupped value => result_of_function.

Если я правильно угадаю вопрос и вашу структуру данных, вы захотите что-то вроде:

- orders.each do |order|
  = pie_chart order.packeges_ordered.group(:used_by).count
...