2011-02-08 2 views
2

У меня возникли трудности с созданием суммы из значений, которые у меня есть в коллекции. У меня есть коллекция (в рельсах) от одного до многих отношений, у заказа много продуктов.Ruby 1.9.2/Rails 3 - Суммирование из коллекции хешей

Изделия являются хешей и имеют цену: стоимость.

Раньше я использовал встроенный метод array.sum, поэтому я пытался захватить все цены из своих продуктов и создать новый массив и суммировать его, но не смог выбрать только значения цены из моих продуктов для этого массива.

Есть ли лучший способ, которым я должен пытаться это сделать? Я пытаюсь создать метод для моей модели заказа, который определяет общую стоимость заказа от взятия суммы цен на товары, принадлежащих заказу.

ответ

8

Я хотел бы сделать следующее:

 
class Order 
    has_many :products 

    def price 
    products.all.sum(&:price) 
    end 
end 

Теперь призывающую .price на объекте заказа подведут все цены на продукцию для Вас.

+0

Спасибо большое, я знал, что должен быть какой-то сексуальный взгляд на то, что я пытался сделать. Я очень ценю помощь. – Kombo

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