私のホームページでは、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 のみを取得しますが、ユーザー インスタンスを取得してusernameを取得したいと考えています。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>