gpt4 book ai didi

ruby-on-rails - 使用 paper_trail 保存版本注释

转载 作者:行者123 更新时间:2023-12-03 15:56:12 25 4
gpt4 key购买 nike

我有一个模型( Candidate ),我需要跟踪更改、版本差异、更改它的人以及他们对更改的任何评论。我喜欢 paper_trail 并且它几乎在所有方面都是我所需要的,但我想知道存储“更改评论”的最佳方式是什么。我一直在考虑实现以下三个选项之一:

  • 添加 comments我的专栏 versions table 。如果我这样做,我不太确定实际更新该信息的最佳方式。也许 candidate.version.comments = @comments会工作?将自定义列添加到 paper_trail 的表中是不是很糟糕?
  • 使用 paper_trail 的元数据来存储评论。这似乎不是元数据的意图,但也许它会起作用?
  • 添加另一个表为 belongs_to :candidate这将跟踪 commentsversion .这看起来很糟糕 - 我还需要让这个新表属于版本表吗?

  • 任何见解将不胜感激。自从我之前使用过 paper_trail 以来,我一直非常专注于寻找解决方案,但我也会考虑您过去使用过的其他 gem 或选项。

    最佳答案

    我最终选择了选项 1。我创建了一个迁移以将一个注释字段添加到版本表中,并将以下内容添加到 CandidatesController#update

    if @candidate.update(candidate_params)
    #Add comments if they are available
    @candidate.reload.versions.last.update(comments: params[:comments]) unless params[:comments].empty?

    它似乎工作得很好,但我很感激你的任何其他想法!

    关于ruby-on-rails - 使用 paper_trail 保存版本注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20671480/

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