在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。