gpt4 book ai didi

ruby-on-rails - 在 Heroku 的 paper_trail 中自动设置谁负责控制台的更改

转载 作者:行者123 更新时间:2023-12-02 01:39:01 26 4
gpt4 key购买 nike

paper_trail对我们很有用。但是当我们使用 heroku run console 登录到 Heroku 的控制台然后我们进行更改时,更改的发起者未设置:(。所以 paper_trail 有一个机制:

In a console session you can manually set who is responsible like this:

>> PaperTrail.whodunnit = 'Andy Stewart'
>> widget.update_attributes :name => 'Wibble'
>> widget.versions.last.whodunnit # Andy Stewart

You can avoid having to do this manually by setting your initializer to pick up the username of the current user from the OS, like this:
<bunch of code>

我的问题是我们如何使用 Heroku 将其自动化?我可以做这样的事情吗?

heroku run console -e "PaperTrail.whodunnit = '123:console'"

然后我们每个人都可以使用我们各自的用户 ID 简单地创建一个 console.sh 文件。或者是否有另一种机制可以自动执行此操作?

最佳答案

You can avoid having to do this manually by setting your initializer to pick up the username of the current user from the OS

这就是答案。将 PaperTrail.whodunnit 代码放在 config/initializers 的初始化程序中。这些在您启动控制台时运行。那将是最好的地方,因为它会在任何开发人员登录到 heroku 控制台时生效,而无需更改他们为此运行的命令:

# config/initializers/default_whodunnit.rb
if defined?(Rails::Console)
PaperTrail.whodunnit = "whatever"
end

更新:

Heroku 是一个 git 服务器,就像 Github 一样,但是您推送到 heroku 以启动部署。 MrYoshiji's answer提供一个选项,让您的开发人员有机会声明他们的用户名并将其设置为 whodunnit。只需让他的答案的代码示例您的 default_whodunnit.rb 初始值设定项的内容。通过这种方式,您将 checkin whodunnit 文件,推送到 Heroku,现在只要开发人员登录到 heroku 控制台,他们就会被要求输入用户名,这将设置 whodunnit

关于ruby-on-rails - 在 Heroku 的 paper_trail 中自动设置谁负责控制台的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29478657/

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