gpt4 book ai didi

ruby-on-rails - 跟踪类实例及其关联的更改 - 想法?

转载 作者:行者123 更新时间:2023-12-04 06:32:22 30 4
gpt4 key购买 nike

我有一个有很多相关模型的类问题。在我的应用程序的一个页面上,我列出了所有当前问题的摘要,以及来自相关记录的各种信息。最终,这是一个值的散列,然后我将其打印到一个 csv 样式的行中(从这里我将其称为“行散列”)

我现在要求只显示给定时间段内问题(或其相关数据)的变化。我目前正在考虑最好的方法来做到这一点。这是我到目前为止的一些想法,我欢迎任何反馈,想法,建议等。

1) 方法 1 - act_as_audited
这是我的第一个想法,因为我之前在其他应用程序中使用过它。但是 aaa 的问题是它只跟踪记录数据的更改(即它不关心关联是否更改)。所以,我也可以审计所有相关的记录,但是然后试图通过将不同的审计记录捆绑在一起来拼凑发生的变化听起来像是一场噩梦。

2)将新旧散列保存到序列化字段中:即
- 当有人进入问题/编辑页面时,我计算当前行哈希并将其保存在问题表中的序列化字段“old_data”中。然后在他们保存问题后,我计算新的当前行哈希并将其保存到问题表中的序列化字段“new_data”中。此外,我比较了两个序列化哈希并将差异保存到另一个序列化哈希字段“更改”中。现在要做我的报告,我只是寻找在过去 x 天内更新的问题并输出它们的更改数据。

3)做一个 View
- 我创建了一个与我想要输出的数据相对应的 View (即合并了我拉入我的报告中的所有数据)。然后我跟踪 View 的变化 - 不知何故。我不确定我会怎么做。

我现在倾向于选项 2。

还有其他想法/评论吗?感谢任何建议 - 最大。

最佳答案

所以,就像你说的,你只想显示时间 x 和时间 y 之间记录的变化,对吗?这对我来说使用 act_as_audited 插件似乎很完美,因为您最终会得到一个更改表,对吗?因此,从 Question 到所有这些相关表建立 has_many_through 关联,然后搜索相关更改,其中创建日期在时间 X 之后。这将返回更改列表。从那里,如果需要,您可以将此列表连接回父对象,或者无论如何 - 但最终搜索似乎更合理。您不是在寻找相关对象的列表,毕竟您是在寻找更改列表,因此拥有更改表似乎是实现这一目标的合理方法?

关于ruby-on-rails - 跟踪类实例及其关联的更改 - 想法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3245103/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com