情况:我想在保存文档之前立即验证一些用户权限,所以我想出的明显解决方案是制作一个 DocumentObserver 并修改 before_save 方法来进行检查。然而,这样做的问题是模型不能轻易(也不应该)访问 current_user,这是执行检查所必需的。我知道可以通过使用 Thread 来解决这个问题,但如果可能的话,我宁愿遵循标准做法。有没有办法做到这一点,或者有更好的方法来达到同样的结果?观察者似乎是一个如此直观和简单的解决方案,不使用它会很可惜。
注意事项:我的问题与此类似,但我希望得到更具体的答案或建议。作为参考,这是 current_user 解决方法
修订:更复杂 - 控制器位于我无法修改的第三方 gem 中,这意味着我不能简单地将 current_user 传递给模型。这种复杂性可能会迫使我修补一些第三方的方法或其他东西,除非有其他一些聪明的方法可以让它工作......