【发布时间】:2012-08-29 01:31:34
【问题描述】:
我的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 关联和范围?
【问题讨论】:
-
你是说 entry.counters.total 吗?
标签: ruby-on-rails activerecord