Не уверен в синтаксисе Ruby здесь.Как использовать метод «map» в методе класса ActiveRecord?
Я хочу определить метод, который я могу назвать следующим образом: client.invoices.average_turnaround
. Поэтому мой метод average_turnaround
должен работать с коллекцией объектов ActiveRecord.
Вот мой код до сих пор:
class Invoice < ActiveRecord::Base
...
def self.average_turnaround
return self.map(&:turnaround).inject(:+)/self.count
end
end
Так что я пытаюсь найти сумму времени оборотного для каждого счета-фактуры, а затем разделить его на общем количестве счетов-фактур.
Ruby жалуется, что нет метода map
, определенного для Class
. Я ожидал, что self
будет Array
.
Как написать метод, который работает в коллекции Invoices
и использует функцию map
? Где я иду не так?
self wont be Array внутри класса Invoice. Это будет сам класс. –