Ruby on rails 如何在rails\u admin中保存前使用当前用户

Ruby on rails 如何在rails\u admin中保存前使用当前用户,ruby-on-rails,rails-admin,Ruby On Rails,Rails Admin,使用rails_admin,我想检查当前_用户是否与最初创建对象的用户相同,然后才能更新特定字段(不同的用户必须检查“已批准”字段)。如果用户相同,则应中止保存 我可以使用object.versions.first.whodunnit之类的东西获取原始用户,但我正在努力获取当前用户。所讨论的对象与用户模型(仅用于rails\u admin->没有“常规”用户)没有关联 在该模型中,我无法访问当前用户,也不知道如何访问rails管理员使用的控制器。找到了解决方案PaperTrail.whodunn

使用rails_admin,我想检查当前_用户是否与最初创建对象的用户相同,然后才能更新特定字段(不同的用户必须检查“已批准”字段)。如果用户相同,则应中止保存

我可以使用object.versions.first.whodunnit之类的东西获取原始用户,但我正在努力获取当前用户。所讨论的对象与用户模型(仅用于rails\u admin->没有“常规”用户)没有关联


在该模型中,我无法访问当前用户,也不知道如何访问rails管理员使用的控制器。

找到了解决方案PaperTrail.whodunnit'可用于模型中,以获取当前用户。因此,我添加了一个自定义验证

self.versions.first.whodunnit.to_i == PaperTrail.whodunnit.id
检查对象的原始创建者是否与即将批准此对象当前版本的人员相同

如果有人知道更好的解决方案,请告诉我