代码之家  ›  专栏  ›  技术社区  ›  Jonathan

作为审计对象。如何添加“评论”栏

  •  2
  • Jonathan  · 技术社区  · 16 年前

    我正在将Acts_用作我的应用程序中经过审计的gem。(跟踪模型对象变化的优秀宝石)

    我被要求支持将文本注释与每个审计记录关联(类似于SVN提交的功能)。我在如何完成这一点上感到困惑。

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

    有道理?

    谢谢你的帮助,

    乔纳森

    1 回复  |  直到 15 年前
        1
  •  8
  •   EmFi    15 年前

    我认为这是一件有用的事情。所以我自己分叉并修补了插件。

    编辑 我的fork已经被合并到官方的acts-audited存储库中。本帖中包含的使用文件现在适用于经审计的普通法案。我把这篇文章的链接改成指向那里。获取官方存储库,因为我的不会用上游补丁更新。我已经更新了本文中的使用文档以反映增强功能。

    作为插件安装:

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

    使用并没有真正改变,从香草行为审计。

    审计后的行为现在有一个额外的选择。:需要注释,如果为真,则会阻止已审核模型的创建、更新或销毁,除非提供注释。

    向审核添加注释的步骤使用 model.audit_comment= "My Comment" 在创建/更新/销毁之前。

    审计注释也可以批量分配,使向任何表单添加注释字段变得简单。

    在使用我的gem/plugin之前,您需要更新审计表以包含注释列。如果您要从旧版本的acts-as-audited进行升级,但在audit表上没有comments字段,请更新该插件,然后运行 script/generate audited_migration_update update_audits_table . 否则你就要走了。

    使用gem/plugin,所有需要更改的地方都可以使用地址示例,在表单中添加一个审计注释字段。

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