paper_trail whodunnit仅保存不是父对象的子对象

时间:2016-11-01 20:58:23

标签: ruby-on-rails-3.2 paper-trail-gem

我有以下方法:

  def save_everything
    person.whodunnit("import_v2_file_id_#{file_id}") do
      person.save!
    end
  end

person.save!正在保存对某人和一系列新子对象的更新,包括电话和地址记录。

whodunnit正在设置子对象的版本,但我不明白为什么它没有设置人员记录的版本: - /

所以 - 我最终得到以下结论:

 #<PaperTrail::Version id: 21, item_type: "Phone", item_id: 7, event: "create", whodunnit: "import_v2_file_id_1", object: nil, created_at: "2016-11-01 20:06:40">,
 #<PaperTrail::Version id: 22, item_type: "Phone", item_id: 8, event: "create", whodunnit: "import_v2_file_id_1", object: nil, created_at: "2016-11-01 20:06:40">,
 #<PaperTrail::Version id: 23, item_type: "Phone", item_id: 9, event: "create", whodunnit: "import_v2_file_id_1", object: nil, created_at: "2016-11-01 20:06:40">,
 #<PaperTrail::Version id: 24, item_type: "Address", item_id: 7, event: "create", whodunnit: "import_v2_file_id_1", object: nil, created_at: "2016-11-01 20:06:40">,
 #<PaperTrail::Version id: 25, item_type: "Address", item_id: 8, event: "create", whodunnit: "import_v2_file_id_1", object: nil, created_at: "2016-11-01 20:06:40">,
 #<PaperTrail::Version id: 26, item_type: "Address", item_id: 9, event: "create", whodunnit: "import_v2_file_id_1", object: nil, created_at: "2016-11-01 20:06:40">,
 #<PaperTrail::Version id: 29, item_type: "Person", item_id: 1, event: "update", whodunnit: nil, object: "---\nid: 1\norganization_id: 1\nstate: \ntype: Individu...", created_at: "2016-11-01 20:06:41">,
 #<PaperTrail::Version id: 30, item_type: "Person", item_id: 1, event: "update", whodunnit: nil, object: "---\nid: 1\norganization_id: 1\nstate: \ntype: Individu...", created_at: "2016-11-01 20:06:41">,
 #<PaperTrail::Version id: 31, item_type: "Person", item_id: 1, event: "update", whodunnit: nil, object: "---\nid: 1\norganization_id: 1\nstate: \ntype: Individu...", created_at: "2016-11-01 20:06:41">

我的实施中是否有明显的关闭?

我使用的是rails 3.2和paper_trail 5.2.2

1 个答案:

答案 0 :(得分:0)

事实证明,存在与子记录的创建相关联的回调,并且我的版本限制为3 ...因此,一旦创建子记录,相关版本就被删除了。

相关问题