归档activerecord

时间:2016-12-22 20:00:08

标签: ruby-on-rails activerecord

我创建了一个我的activerecords包含支持存档的模块。这允许我调用存档!和unarchive!在这些对象上更新归档字段。

我想知道我可以做什么来减少这些对象在破坏时完成的计数器缓存!命令被调用。

我的模特看起来像这样......

class Post < ActiveRecord::Base
  include Archivable

  belongs_to :user, counter_cache: :posts_count
  validates_presence_of :user_id
end

每次帖子归档后,如何减少用户模型中的posts_count列?

由于

1 个答案:

答案 0 :(得分:1)

我不会手动执行此操作 - 而是创建archived范围 - 并添加一个新的计数器缓存,仅涵盖未存档的记录 - 它会跟踪本身就是这样:))

但是,我认为您也可以使用以下内容手动递减计数器(在归档方法的末尾):

User.decrement_counter(:posts_count, user.id)