рельсы получают определенное значение из суммы группы данных базы данных - PullRequest
0 голосов
/ 02 января 2019

Здесь у меня есть таблица базы данных с именем DeliveryCharge. Я пытался получить значения общего веса для каждого метода. Для которого я пытался так:

@a = DeliveryCharge.all.group("method")
@a_sum = @a.sum("weight")
logger.debug("-----------#{@a_sum}----------")

и это дает этот вывод:

-----------{"e-packet"=>6, "ems"=>482, "free-shipping"=>9999}----------

Что хорошо. Но теперь я хочу вывод только методов в массиве и весов в другом массиве. как это: ["электронный пакет", "ems", "бесплатная доставка"] и [6, 482, 9999] Для этого я попробовал эти два способа:

logger.debug("-----------#{@a_sum(:method)}----------")   
logger.debug("-----------#{@a_sum[:method]}----------")

которые не работают. Может ли кто-нибудь помочь мне, как получить вывод, как я упоминал выше? А также я пытался logger.debug("-----------#{Array(@a_sum)}----------") из которого я получил: ------[["e-packet", 6], ["ems", 482], ["free-shipping", 9999]]--- но нужно получить его так, как я упоминал выше.

1 Ответ

0 голосов
/ 02 января 2019

Поскольку @a_sum является хэшем, вы можете просто использовать методы .keys и .values для доступа к этим элементам.

@a_sum.keys и @a_sum.values дадут вам именно то, что вы хотите!

...