在我的主頁上,我使用papertrail顯示最新的更新。使用whodunnit獲取用戶實例
控制器
@contributions = PaperTrail::Version.all.order("created_at DESC")
查看
<% @contributions.each do |v| %>
<h2><%= v.item.name %><small>by </small></h2>
<% v.changeset.each do |data| %>
<h4><%= data %></h4>
<% end %>
<%= v.whodunnit %>
<% end %>
在這裏,我得到了相關的用戶,但只有whodunnit的ID,但我想獲得用戶實例得到用戶名。因此,我想v.user.username。v.whodunnit。
我一直在尋找similar question,但似乎無法找到一種方式來創建版本和用戶之間的關係。
用戶模型
class User < ActiveRecord::Base
has_many :versions, :foreign_key => 'whodunnit', :class_name => "PaperTrail::Version"
end
版模型
class Version < PaperTrail::Version
belongs_to :user, :foreign_key => 'whodunnit'
end
編輯
我得到這個,當我有<%= v.user%>鑑於
undefined method `user' for #<PaperTrail::Version:0x007fb24c08e868>
什麼是與當前版本的問題? –
當我嘗試在我的視圖中獲取v.user時,我得到了未定義的方法'user' – Pierre