私の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 の場合
ActiveRecord の関連付けとスコープでこれを適切に行う「Rails の方法」はありますか?