сумма чисел в другой модели - PullRequest
0 голосов
/ 05 октября 2011

У меня есть две модели голосования и вариант, каждая с колонками «итого» и «количество». (Проголосовать has_many: параметры)

Я хочу реализовать так изначально:

Option.quantities.each {| количество |всего + = количество}

Vote.total = всего

как это реализовать ??

1 Ответ

1 голос
/ 05 октября 2011

Вы запрашиваете альтернативную реализацию? Или для чего-то еще? Вы можете сделать то же самое с Enumerable::inject, например:

class Vote < ActiveRecord::Base
  has_many :options
  def calculate_total
    total = self.options.inject(0) { |sum, vote| sum += vote.quantity }
    save!
  end
end

Таким образом, общая сумма голосов вычисляется и сохраняется каждый раз, когда вызывается calculate_total.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...