代码之家  ›  专栏  ›  技术社区  ›  Hélène Martin

在rails_admin paper_trail历史记录中显示用户的自定义标签

  •  0
  • Hélène Martin  · 技术社区  · 9 年前

    当我去 paper_trail rails_admin中的历史页面,我在User列中看到User对象( #<User:0x007f59a9... ). 是否有方法将其配置为使用用户属性之一?我想我可以用 object_label_method 但我似乎一点运气都没有。

    更新:

    我以为这纯粹是一个展示问题,但 纸张导轨 实际上是存储字符串 #<用户:0x007f59a9。。。 whodunnit 列,而不是ID。我已覆盖 user_for_paper_trail 在里面 ApplicationController 虽然这成功地在我的前端应用程序中记录了带有用户ID的版本,但它不在rails_admin中。根据 this thread ,rails_admin应该看到我的自定义方法,因为“RailsAdmin::ApplicationController继承自您的::ApplicationController”。有没有想过为什么会发生这种情况,以及我如何得到 纸张导轨 存储用户ID?

    1 回复  |  直到 9 年前
        1
  •  0
  •   Hélène Martin    9 年前

    更多的挖掘揭示了这是一个已知的宝石版本组合的问题。 Here 是一个最近的rails_admin拉取请求,用于解决此问题。 Here 是对问题的更完整描述。

    目前,我正在通过以下代码来修补修补程序 config/initializers/rails_admin_user_for_paper_trail.rb :

    RailsAdmin::ApplicationController.module_eval do
      def user_for_paper_trail
        _current_user.try(:id) || _current_user
      end
    end
    

    作为参考,我使用 paper_trail 3.0.6, rails_admin 0.6.6和轨道4.2.0。