【问题标题】:acts_as_audited. How can I add a "comment" columnact_as_audited。如何添加“评论”栏
【发布时间】:2009-10-29 17:58:13
【问题描述】:

我在我的应用程序中使用acts_as_audited gem。 (跟踪模型对象变化的优秀 gem)

我被要求支持将文本注释与每个审计记录相关联(类似于 svn commit 的功能)。我对如何做到这一点感到困惑。

例如。假设我有一个地址表格,用户更新了城市和州,点击保存后我要求他提供评论。我想要与创建的审计记录相关的评论信息。

有意义吗?

感谢您的帮助,

乔纳森

【问题讨论】:

    标签: ruby-on-rails gem


    【解决方案1】:

    我认为这将是一个有用的东西。所以我自己分叉并修补了插件。

    编辑我的分叉已合并到官方的acts_as_audited 存储库中。这篇文章中包含的使用文档现在适用于 vanilla act_as_audited。我已将这篇文章中的链接更改为指向那里。获取官方存储库,因为我的不会使用上游补丁更新。我更新了这篇文章中的使用文档以反映增强功能。

    将其安装为插件:

    rails_root$ script/plugin install git://github.com/collectiveidea/acts_as_audited.git
    

    与原版acts_as_audited 相比,用法并没有真正改变。

    acts_as_audited 现在有一个额外的选项。 :require_comment,如果为真,则阻止创建、更新或销毁已审计模型,除非提供注释。

    要向审计添加评论,请在创建/更新/销毁之前使用 model.audit_comment= "My Comment"

    audit_comment 也可以批量分配,从而可以轻松地将评论字段添加到任何表单。

    在您可以使用我的 gem/插件之前,您需要更新审计表以包含一个评论列。如果您要从旧版本的acts_as_audited 升级,该版本在审计表上没有 cmets 字段,请更新插件然后运行script/generate audited_migration_update update_audits_table。否则你就可以走了。

    使用 gem/plugin 需要更改的所有内容,使用您的地址示例将 audit_comment 字段添加到您的表单。

    <%form_for @address do |f| %>
      ... standard address fields
      <%= f.label_for :audit_comment %>
      <%= f.text_field :audit_comment %>
    <% end %>
    

    【讨论】:

    • 太棒了!!!!谈论超越。非常感谢,效果很好
    • 不客气。我在回复进行到一半时意识到我已经完成了大部分工作。这似乎是一件足够有用的事情,只有将其公开才有意义。
    猜你喜欢
    • 1970-01-01
    • 2014-07-06
    • 1970-01-01
    • 2021-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多