当我转到rails_admin中的paper_trail
历史记录页面时,我会在“用户”列(#<User:0x007f59a9...
)中看到“用户”对象。有没有办法配置它以使用其中一个用户属性?我以为我可以使用object_label_method
,但我似乎没有任何运气。
更新
我认为这纯粹是一个显示问题,但paper_trail
实际上在版本表的#<User:0x007f59a9...
列中存储了whodunnit
等字符串而不是ID。我在user_for_paper_trail
中覆盖了ApplicationController
,虽然这在我的前端应用程序中成功记录了具有用户ID的版本,但它不在rails_admin中。根据{{3}},rails_admin应该看到我的自定义方法,因为“RailsAdmin :: ApplicationController继承自你的:: ApplicationController”。有关为什么会发生这种情况以及如何让paper_trail
存储用户ID的任何想法?
答案 0 :(得分:0)
更多挖掘显示,这是宝石版本的某些组合的已知问题。 Here是最近发布的rails_admin pull请求。 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和Rails 4.2.0。