5
我有一個城市類,其版本由PaperTrail控制。我的系統有由Devise管理的用戶。我希望在編輯城市類的特定版本的用戶之間建立關係。Rails 3,PaperTrail和Whodunnit用戶實例
爲此我曾嘗試用Rails 3.2.15和紙徑3.0.0以下配置:
class City < ActiveRecord::Base
has_paper_trail
end
class User < ActiveRecord::Base
has_many :editions, :foreign_key => 'whodunnit', :class_name => "PaperTrail::Version"
end
class PaperTrail::Version < ActiveRecord::Base
belongs_to :user
end
有了這個,我可以有一個特定的用戶所做的版本,例如:
User.last.editions
從上一個用戶獲得版本列表(PaperTrail :: Version對象)。
然後我以爲這將是直接的有誰編輯特定的城市,例如用戶的實例,讓誰編輯第一城的最後一個版本的用戶的用戶實例:
# NoMethodError: undefined method `user' for #<PaperTrail::Version:0x000000051d0da8>
City.first.versions.last.user
如果不是這樣,我應該如何配置我的模型以訪問PaperTrail :: Version上的「user」方法?
Ps .:我不確定是否應該像我一樣創建Model Paper Trail :: Version,但我沒有找到另一種方法。
完美!默認情況下,這必須在papertrail中工作! – Flezcano
在paper_trail的v4.0.0.beta2上,'has_paper_trail:class_name =>'Version''在'has_paper_trail'之後沒有逗號。 – Nobu