- 红宝石“2.6.3”
- 宝石“审核”,“4.8.0”
- 宝石“pg”,“0.18.4”
我需要能够:
- 按日期范围搜索修订
- 按日期范围搜索所有审计,然后获取每条记录的最新记录
目前,created_at 和 updated_at 列的记录修订版本为零。我可以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 在查看修订版时返回 nil :
[#<Report:0x000
id: "100f5d9d-",
device: "1-device-118",
advisor: "system",
created_at: nil,
updated_at: nil>]
Report 表中的原始记录确实有 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>