我可以在 rake 任务中使用acts_as_audited 吗?

Posted

技术标签:

【中文标题】我可以在 rake 任务中使用acts_as_audited 吗?【英文标题】:Can I use acts_as_audited in a rake task? 【发布时间】:2013-07-15 17:52:39 【问题描述】:

虽然acts_as_audited 可以很好地与我的模型配合使用,但我有一个 rake 任务,它将一个 XML 文件导入到我的数据库中。该任务执行的所有操作(主要是创建和更新)都不会被acts_as_audited 拾取。作为记录,我在 rake 任务文件中添加了Audit.as_user(User.current_user) do; ... ; end到执行实际任务的类中。

【问题讨论】:

【参考方案1】:

acts_as_audited 与作为数据库表抽象的模型一起使用。它将记录更改的表/模型名称、当前列值和修改的列值。无法记录 Rake 任务。

【讨论】:

嗨 Shiva,感谢您的贡献。但是,只要正在审计任务正在执行操作的模型,就确实可以记录 rake 任务。【参考方案2】:

我终于明白了,acts_as_audited 没有问题。

显然,更新数据库的 Rake 任务引发了错误。一旦这些更正并且任务完成,我就可以在桌子上看到审计。

【讨论】:

以上是关于我可以在 rake 任务中使用acts_as_audited 吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Capistrano 运行 rake 任务?

在rals中将rake任务迁移到Lambda

在 rake 任务中使用 rails logger,rails 5

如何在 Rails 中使用环境将参数传递给 Rake 任务? [复制]

如何将命名参数传递给 Rake 任务?

使用参数在 Heroku 上运行 rake 任务并指定 Heroku 应用程序