Еще один вопрос noob, который, кажется, должен быть простым:
Благодаря полученной здесь помощи я могу легко получить сумму выбранных транзакций:
@trip_hash = transactions.sum(:amount_cents, :group => :trip_id)
Однако проблема, является то, что столбец: amount_cents представляет необработанный объект Money, который необходимо преобразовать перед суммированием, чтобы приспособить обмен валюты.Деньги, «состоящие из» процедур, выглядят так:
composed_of :amount,
:class_name => "Money",
:mapping => [%w(amount_cents cents), %w(currency currency_as_string)],
:constructor => Proc.new { |cents, currency| Money.new(cents || 0, currency || Money.default_currency) },
:converter => Proc.new { |value| value.respond_to?(:to_money) ? value.to_money : raise(ArgumentError, "Can't convert #{value.class} to Money") }
Я могу легко позвонить:
transactions.map(&:amount).inject(:+)
, чтобы получить преобразованный общий итог, но я не могу понять, каксделайте это в контексте группировок.
Большое спасибо, снова, за помощь!