class User < ActiveRecord::Base
has_many :likes
has_many :liked_things, :through => :likes
end
class Thing < ActiveRecord::Base
has_many :likes
has_many :liked_by_users, :through => :likes
end
class Like < ActiveRecord::Base
belongs_to :user
belongs_to :shot
end
This is my setup, and I have a likes_count column on Things Table. Is
there any way to keep that count updating using counter_cache ? I got it
working counter_cache on has_many association but failing to do same
with
has_many through association.
What appears to be happening is that the deletes from the join table do
not fire the counter_cache update.
From what I have read, delete’s do not fire events and that is the way
it is designed in Rails 4.
I have tried multiple workarounds from doing an after_save event,
putting the join table in it’s own model, etc… Nothing I have done
seems to decrement the count.
Anxious to see if any Ruby experts see this post and let us know the
best way to fix this.
John
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.