1
  1. 我的表中有很多字段,我不想对所有列进行版本控制。如何跳过不需要存储任何更改的列

我使用了以下内容,但它将值存储在“版本”表中。在我的模型中

class User < ActiveRecord::Base
  has_paper_trail skip: [:foo1, :foo2, :foo3]
  # tried with ignore instead of skip
end
  1. 如何防止在“版本”表中写入对象字段。
4

1 回答 1

0
  1. ...我不想对所有列进行版本控制。如何跳过不需要存储任何更改的列

skip是正确的。在文档中,请参阅第 2.c 节。选择要监控的属性

您可以使用 :skip 选项完全跳过字段。与 :ignore 一样,对这些字段的更新不会创建新的 PaperTrail::Version。此外,每当创建新的 PaperTrail::Version 时,这些字段都不会包含在对象的序列化版本中。

例如:

class Article < ActiveRecord::Base
  has_paper_trail :skip => [:file_upload]
end

如果skip没有按照记录的方式工作,请提交错误报告。

回复:你的第二个问题:

  1. 如何防止在“版本”表中写入对象字段。

在向 中插入记录时versions,PaperTrail 总是在列中写入一些内容。object您可以配置写入的内容,例如使用skip,但它总是会写入一些内容。

于 2016-07-29T17:12:31.927 回答