在我的主页上,我使用 papertrail 显示最新更新。
控制器
@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.whodunnit 我想要 v.user.username。
我一直在看一个类似的问题,但似乎无法找到一种方法来创建版本和用户之间的关系。
用户模型
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>