【问题标题】:How to prevent writing 'object' field in PaperTrail如何防止在 PaperTrail 中写入“对象”字段
【发布时间】:2016-11-23 17:40:27
【问题描述】:
  1. 我的表中有很多字段,我不想对所有列进行版本控制。 如何跳过不需要存储任何更改的列

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

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

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 paper-trail-gem papertrail-app


    【解决方案1】:
    1. ... 我不想对所有列进行版本控制。如何跳过不需要存储任何更改的列

    skip 是正确的。在文档中,请参阅Section 2.c. Choosing Attributes To Monitor

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

    例如:

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

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

    Re:你的第二个问题:

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

    将记录插入versions 时,PaperTrail 总是在object 列中写入something。你可以配置 what 是写的,例如skip,但它总是会写 something

    【讨论】:

      猜你喜欢
      • 2019-01-17
      • 2019-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-01
      • 1970-01-01
      • 2019-01-28
      相关资源
      最近更新 更多