【发布时间】:2019-08-10 09:24:15
【问题描述】:
我在我的 rails 应用程序中使用 paper_trail。我正在定义一个:meta 来存储每个模型的一些数据。在该元内部有一个属性:date,它采用模型上的日期值。现在,当我为模型创建新记录时,它会将数据正确存储在 versions 表中,但是如果我在保存时修改该记录,它还会在版本中为事件更新创建新记录,但日期属性即使在模型上修改了该属性,也不会在版本表中修改。
如何修改 paper_trail 的配置,以便在模型修改属性时修改属性?
has_paper_trail class_name: 'HistoryElement',
on: [:create, :update, :destroy],
meta: {
patient_id: :patient_id,
instance_id: :instance_id,
status: :status,
date: :inicio,
item_type_id: HistoryElement::EVENT_TYPES[:dialysis_session]
}
【问题讨论】:
-
看目前提供的代码,没看出有什么问题。如果您可以使用this script 重现此问题,那么您可能发现了一个错误。我们暂时不接受问题,但如果您可以使用脚本重现此问题,请打开 PR。
-
@JaredBeck:我今天遇到了同样的问题。我注意到元值比记录的当前状态落后 1 步。
-
@GiangNguyen 我不得不提取 gem 代码并根据我的需要对其进行修改,并将应用程序指向该 gem 代码而不是公共代码。 gem 没有用新数据更新数据,正如你所说,它落后了 1 步
标签: ruby-on-rails ruby paper-trail-gem