繁体   English   中英

如何在rails_admin中将current_user与before_save一起使用

[英]How to use current_user with before_save in rails_admin

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

我可以使用诸如object.versions.first.whodunnit之类的东西来获取原始用户,但我正在努力获取current_user。 有问题的对象与user_model没有关联(仅用于rails_admin->没有“常规”用户)。

在模型中,我无法访问current_user,也不知道如何访问rails_admin使用的控制器。

找到了解决方案。 可以在模型中使用“ PaperTrail.whodunnit”获取current_user。 所以我添加了一个自定义验证

self.versions.first.whodunnit.to_i == PaperTrail.whodunnit.id

检查对象的原始创建者是否与将要批准该对象的当前版本的人员相同。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM