2016-11-20 54 views
0

我遇到的問題是遞減我的一個活動記錄的列。rails - 遞減活動記錄列

獲取這樣的記錄 -

@post = Post.active.find(params[:post_id]) 

它成功返回後。

然後致電@post.decrement_likes_count住在我的後期模型中。

decrement_likes_count:

def decrement_likes_count 
    self.post_likes_count -= 1 
    self.save! 
end 

它的字面少了點保存部分和不接觸post_likes_count列在所有。

當我檢查heroku日誌時,它只會更新帖子的updated_at列,但不會減少該計數器。

我在做什麼錯?

回答

0

不知道什麼是確切的問題,它不保存記錄,但我會建議看看的ActiveRecord decrement方法。

語法:

decrement(attribute, by = 1) 

e.g

@post = Post.active.find(params[:post_id]) 
@post.decrement(:post_likes_count) 
@post.save 

有關此方法的好處是,你不必擔心nil值。它處理它們。