Ruby on rails rails-更新activerecord列错误

Ruby on rails rails-更新activerecord列错误,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我正在尝试使用更新ActiveRecord @post.update_column('post_likes_count', @post.post_likes_count - 1) 我确信@post存在,但我收到了错误消息: ActiveRecord::ActiveRecordError (post_likes_count is marked as readonly): post的模型定义为 class Post < ActiveRecord::Base belongs_to :u

我正在尝试使用更新ActiveRecord

@post.update_column('post_likes_count', @post.post_likes_count - 1)
我确信@post存在,但我收到了错误消息:

ActiveRecord::ActiveRecordError (post_likes_count is marked as readonly):
post的模型定义为

class Post < ActiveRecord::Base

  belongs_to :user
  has_many :post_comments, :dependent => :destroy
  has_many :post_likes, :dependent => :destroy
  has_many :post_hashtags, :dependent => :destroy
  validates_presence_of :user_id
end
class Post:destroy
有很多:post\u喜欢,:dependent=>:destroy
有许多:post\u hashtags,:dependent=>:destroy
验证是否存在:用户id
结束
我做错了什么


我所要做的就是减少post\u likes\u count列。

更新计数器缓存的解决方案是调用destroy而不是delete

我的帖子“喜欢”的次数是计算一篇帖子喜欢的次数。当删除类似帖子时,我调用了
@post\u like.delete
,然后手动尝试递减计数器

因为我的PostLike模型具有
计数器缓存:true
,如果执行
@post\u-like.destroy
,它会自动递减post表中的计数器