我有一个模型 ( Candidate
),我需要跟踪更改、版本差异、更改它的人以及他们对更改的任何评论。我喜欢 paper_trail 并且它几乎在所有方面都是我所需要的,但我想知道存储“更改评论”的最佳方式是什么。我一直在考虑实施以下三个选项之一:
comments
在我的versions
表中添加一列。如果我这样做,我不太确定实际更新该信息的最佳方式。也许candidate.version.comments = @comments
会奏效?将自定义列添加到 paper_trail 的表中是不是很糟糕?
使用 paper_trail 的元数据来存储评论。这似乎不是元数据的意图,但也许它会起作用?
添加另一个表,因为belongs_to :candidate
它会跟踪comments
和version
。这看起来很糟糕 - 我还需要让这个新表属于版本表吗?
任何见解将不胜感激。自从我之前使用过 paper_trail 以来,我一直非常专注于寻找解决方案,但我也会考虑您过去使用过的其他宝石或选项。