habtm and counter_cache

Hi,

I've a set of two models in habtm relationship. However,
since :counter_cache can only be used on belongs_to method, how can I
implement the counter cache on habtm models?

I have tried with after_add and after_remove callbacks, but I don't
know quite how to code the method for updating.

I created this method:

  def update_count
    self.posts_count = self.posts.length
  end

into:

  class Category < ActiveRecord::Base
    has_and_belongs_to_many :posts,
                            :after_add => :update_count,
                            :after_remove => :update_count
  end

However, the method doesn't work (or I wouldn't be posting here, would
I?)... I would appreciate any help, or maybe a tip on where to find
relevant information.

Thanks.

Branko

Solved it a bit differently. :slight_smile:

D'oh! after_create in Post model was the correct answer...

I've documented it for people who might be looking for this.

http://eyedeal.team88.org/node/104