学習演習として、acts_as_taggable_on_steroids のフォークをいじっています。私が見ているバージョンでは、タグ数を計算するために理解できないことがいくつかあります。そこで、PORC (Plain Old Rails Counters) を使用したバージョンを作成しようと考えました。
class Tagging < ActiveRecord::Base #:nodoc:
belongs_to :tag, :counter_cache => "tagging_counter_cache"
...
tag.taggings.count にアクセスすると、tagging_counter_cache が透過的にアクセスされると思いましたが、どうやらそうではありませんか? tag.tagging_counter_cache に明示的にアクセスする必要はありますか?
>> tag.taggings.count
SQL (0.7ms) SELECT count(*) AS count_all FROM `taggings` WHERE (`taggings`.tag_id = 16)
サイズも同じ。
それが事実ならクールですが、確認したかっただけです。