如何限制来自 PublicActivity 的消息?

How do I throttle messages from PublicActivity?

class Post < ActiveRecord::Base
    include PublicActivity::Model
      tracked owner: :user

我正在使用 PublicActivity gem 来跟踪 Post 模型上的 "update" 操作。问题是,如果用户在一分钟内点击 "Update post" 3 次,我会针对相同的 "updated post" 获得 3 个活动。有没有办法只在 X 分钟的范围内保存 activity?以防洪水泛滥。

编辑:

也许是清理重复数据的预定作业?

我认为您需要尝试禁用跟踪选项。更多信息 here

activity = PublicActivity::Activity.where(trackable_id: post.id, owner_id: current_user.id).last
if activity?
  period = Time.zone.now - activity.created_at
  if period > 60              # or any time sec
    @post.create_activity     # your activity creation
  end
else
  @post.create_activity       # your activity creation
end