2011-10-05 6 views
0

두 개의 모델 Vote 및 Option이 있습니다. 각 모델에는 "total"및 "quantity"열이 있습니다. | 수량 |다른 모델의 숫자를 합산하십시오.

Option.quantities.each을 {: (투표 has_many : 옵션)

나는 처음과 같이 구현하려면 합계 수량 = +}

Vote.total = 총

어떻게 구현하는 ??

답변

1

대체 구현을 요청하십니까? 아니면 다른 거라도? 당신은 예를 들어, 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가 호출 될 때마다 저장됩니다.

+0

위대한! 나는 그것을 "self.total = self.options ....."로 바꾼다, 그것은 작동한다! 감사! – Jack

관련 문제