Counter cache not decrementing

This is what I have

belongs_to :user, :counter_cache => true
belongs_to :vote_item, :counter_cache => true
belongs_to :vote_topic, :counter_cache => true

##User model

def vote_for(vid, vtid)
Vote.create(:user_id =>, :vote_item_id =>
vid, :vote_topic_id => vtid)

def cancel_vote(vid, vtid)
    Vote.find(:first, :select => "id", :conditions =>

[‘vote_item_id = ? AND vote_topic_id = ? AND user_id = ?’, vid, vtid,]).destroy

When a vote is created the votes_count in VoteItem and VoteTopic are
updated correctly. But when a vote is destroyed or cancelled the
counter is not decremented.

Please help

On Aug 30, 8:02 pm, badnaam [email protected] wrote:

vid, :vote_topic_id => vtid)
counter is not decremented.

Stab in the dark: because your select clause only includes id, rails
doesn’t know the user_id/vote_item_id/vote_topic_id and so doesn’t
know which user/vote_item/vote_topic to update.


Bulls eye! That was it

On Aug 30, 12:16 pm, Frederick C. [email protected]

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs