Forum: Ruby on Rails Problem with counter cache in many-to-many relationship

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
916a6c67f3d61d3bc9b2273646e53a0b?d=identicon&s=25 Fabian Becker (Guest)
on 2012-09-13 15:52
(Received via mailing list)
Hi guys,
I am having trouble getting to counter cache to work properly with a
many-to-many relationship. What I have done is:

rails g scaffold post title:string body:text
rails g scaffold tag name:string taggings_count:integer
rails g model tagging post_id:integer tag_id:integer


Then I created the relationship as shown in my Gist:
https://gist.github.com/3710093
The idea is to have an input field when creating a post, where tags can
be
entered seperated by comma. The tag_names method then splits those tags,
adds new ones and deletes the ones that are now missing.

The counter_cache is correctly increased when adding a tag to the list.
However, decreasing the number after a tag removal does not work.

I have done some searching and found several blog articles (e.g.
http://whilefalse.net/2011/04/05/rails-3-counter-c...)
explaining that this was a bug in Rails 3.0.x that has been addressed in
edge rails. See the old bug report on lighthouse:
https://rails.lighthouseapp.com/projects/8994/tick...
and
then the fix on Github:
https://github.com/rails/rails/commit/52f09eac5b3d...

Why am I still having this problem, when it was fixed two years ago? Am
I
missing something here?

FYI:
# rails -v
Rails 3.2.8

Cheers,
Fabian
This topic is locked and can not be replied to.