我的entry
模型有很多计数器:
class Entry < ActiveRecord::Base
has_many :counters
end
每个counter
都有一个number
,total
代表 的总和numbers
:
class Counter < ActiveRecord::Base
scope :total, sum(:number)
end
我需要获取属于特定条目的所有计数器的总和。
在 SQL 中它将是:
SELECT SUM(`number`) AS `total` FROM `counters` WHERE `entry_id` = entry.id
我试过:
entry.counters.total
但它返回:
NoMethodError:未定义的方法`default_scoped?为 0:Fixnum
是否有任何“Rails 方式”可以很好地使用 ActiveRecord 关联和范围?