TL; DR:如何在paper_trail中跳过nil
和blank
之间的更改?
我使用https://github.com/airblade/paper_trail来记录多个ActiveRecord
对象中的数据更改。有些变化对我的客户来说毫无用处。观点,所以我需要忽略nil
和blank
之间的所有变化(空字符串)。
paper_trail
似乎没有这样的选择。您可以使用:skip
选项跳过某些字段。你可以通过一个会决定"决定"有条件地跳过更改?
答案 0 :(得分:2)
你可以添加一个proc来定义一个新版本应该保存与否,代码应该是:
class ExampleModel < ActiveRecord::Base
has_paper_trail :if => Proc.new { |t| t.attr_1.present? && t.attr_2.present? }
end
顺便提一下:unless
!这适用于PaperTrail&gt; = 4.0