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

当我转到paper_trail历史记录页面时,我在User列中看到User对象( #<User:0x007f59a9... )。 有没有办法配置它使用其中一个用户属性? 我以为我可以使用object_label_method但我似乎没有运气。

更新:

我认为这纯粹是一个显示问题但是paper_trail实际上是在版本表的#<User:0x007f59a9...列而不是ID中存储像#<User:0x007f59a9...这样的字符串。 我在ApplicationController覆盖了user_for_paper_trail ,虽然这在我的前端应用程序中成功记录了带有用户ID的版本,但它不在rails_admin中。 根据这个线程 ,rails_admin应该看到我的自定义方法,因为“RailsAdmin :: ApplicationControllerinheritance自你的:: ApplicationController”。 有关为什么会发生这种情况以及如何让paper_trail存储用户ID的任何想法?

更多挖掘揭示了这是gem版本的某些组合的已知问题。 这是最近的一个rails_admin pull请求。 以下是对该问题的更完整描述。

现在,我通过在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和Rails 4.2.0。