经过审核的红宝石不记录created_at和updated_at

问题描述 投票:0回答:1
  • 红宝石“ 2.6.3”
  • 宝石“已审核”,“ 4.8.0”
  • gem“ pg”,“ 0.18.4”

我需要能够:

  1. 按日期范围搜索修订
  2. 按日期范围搜索所有审核,然后获取每个记录的最新信息
对于created_at和updated_at列,

当前记录的修订版为nil。我可以report.revision_at(yesterday),但不能设置日期范围

所以我尝试调查审核。我将它们按auditable_id分组,它看起来是按记录分组的。然后我得到最新的。但这仅显示了已更改的内容:

 Audited::Audit.where(auditable_type: "Report")
   .where(created_at: 7.months.ago..1.month.ago)
   .group_by(&:auditable_id)
   .map { |_, v| v.sort_by(&:created_at).max }

理想情况下,我想做这样的事情来获取我正在寻找的时间范围之间的最新修订版

Reports.all.map do |report|
  report.revisions
    .where(created_at: 7.months.ago..1.month.ago)
    .sort_by(&:created_at).max
end

这是我查看report.revisions时得到的。如您所见,当查看修订时,created_at返回零:

[#<Report:0x000
  id: "100f5d9d-",
  device: "1-device-118",
  advisor: "system",
  created_at: nil,
  updated_at: nil>]

报告表中的原始记录确实具有created_at和updated_at:

#<Report:0x0
 id: "100f5d9d-",
 device: "1-device-118",
 advisor: "system",
 created_at: Fri, 07 Dec 2018 03:15:37 UTC +00:00,
 updated_at: Fri, 07 Dec 2018 03:15:37 UTC +00:00>
ruby-on-rails-5 acts-as-audited
1个回答
0
投票

被列为问题,此主题可能会为您提供帮助https://github.com/collectiveidea/audited/issues/497#issuecomment-510414598

© www.soinside.com 2019 - 2024. All rights reserved.