0
我有兩個模型投票和選項,每個都有「total」和「quantity」列。 (投票的has_many:選項)總結不同模型中的數字
我要開始實施這樣的:
Option.quantities.each {|數量|總+ =量}
Vote.total =總
如何實現??
我有兩個模型投票和選項,每個都有「total」和「quantity」列。 (投票的has_many:選項)總結不同模型中的數字
我要開始實施這樣的:
Option.quantities.each {|數量|總+ =量}
Vote.total =總
如何實現??
您是否要求提供替代實施?還是爲了別的?你可以做同樣的事情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
被調用時。
太棒了!我將它改爲「self.total = self.options .....」,它的工作原理!謝謝! – Jack