0

我有一个简单的观察者,它正在观察某些模型并将模型to_json连同模型名称一起写入表中。我还想跟踪谁执行了更改,但我不知道如何访问当前用户。

也许我可以在 ApplicationController 中放入一个简单的 gem 或一些代码,或者类似的东西可以提供帮助?

4

1 回答 1

1

没有我能想到的干净的方法来做到这一点。您可以尝试使用User.current模式,但我不喜欢这种方法,我不确定它是否能正确地与观察者通信。

在这种情况下,如果我想知道谁(最后)更改了对象,我通常会向模型本身添加一个“changed_by”和“changed_at”类型的属性,并在控制器中设置它们。这也将使留下审计线索变得更加容易。如果您实际上不想将值存储在数据库中,您甚至可以使用 attr_accessor。

于 2012-10-04T17:37:36.070 回答