【问题标题】:How to use current_user with before_save in rails_admin如何在 rails_admin 中使用 current_user 和 before_save
【发布时间】:2014-10-16 17:01:13
【问题描述】:

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

我可以使用 object.versions.first.whodunnit 之类的方法获取原始用户,但我很难获取 current_user。有问题的对象与 user_model 没有关联(仅用于 rails_admin -> 没有“常规”用户)。

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

【问题讨论】:

    标签: ruby-on-rails rails-admin


    【解决方案1】:

    找到了解决办法。 'PaperTrail.whodunnit' 可用于模型中获取 current_user。所以我添加了一个自定义验证和使用

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-11
      • 1970-01-01
      • 2012-10-26
      • 1970-01-01
      • 2016-10-09
      相关资源
      最近更新 更多