You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅在PaperTrail的create事件中捕获自定义元数据,其余事件正常工作

解决PaperTrail仅在create事件添加自定义元数据的问题

你需要实现的是仅给PaperTrail的create事件附加自定义元数据,同时让update和destroy事件保持正常追踪,之前的两次尝试都存在问题:

  • 尝试1仅指定:create事件,导致update和destroy操作完全不被PaperTrail追踪
  • 尝试2两次调用has_paper_trail,第二次配置直接覆盖了第一次,最终create事件的自定义元数据失效

给你一个可行的实现方案,直接在模型中编写以下代码:

# 先全局启用PaperTrail对所有CRUD事件的追踪
has_paper_trail

# 仅在create事件触发前添加自定义元数据
before_create do
  paper_trail_add_metadata(object: "custom data")
end

这个方案的逻辑很直接:先让PaperTrail默认追踪所有操作,再通过before_create回调,专门在创建记录的时机给PaperTrail追加自定义元数据。update和destroy事件因为没有额外的元数据设置,会保持PaperTrail的默认追踪行为,完全匹配你的需求。

内容的提问来源于stack exchange,提问作者Harish Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 13:22:32