В веб-приложении, которое я создаю, я должен вычислить оценку для каждого пользователя. В настоящее время я рассчитываю счет таким образом:Лучший способ суммировать атрибуты с Ruby on Rails
class Opinion < ActiveRecord::Base
belongs_to :hero
def score_value
self.note * (self.end_date - self.start_date)
end
end
class User < ActiveRecord::Base
has_many :opinions
def update_score
self.score = 0
self.opinions.each { |opinion| self.score += opinion.score_value }
self.save
end
end
Но у меня такое ощущение, что это не лучший способ это сделать. Есть ли лучший способ сделать это?
Спасибо, я использую ваше первое решение :). –