3
我正在使用PaperTrail
版本模型。對於單個模型來說,這很有效。然而,我不能設法恢復一個簡單的has_many關係,儘管文檔聲明這應該工作。PaperTrail檢索has_many關聯
我有兩個簡單的模型:
class Template < ActiveRecord::Base
has_many :assets, dependent: :destroy
has_paper_trail
#also has a title
end
class Asset < ActiveRecord::Base
belongs_to :template
has_paper_trail
has_attached_file :file, :path => ':class/:id/:filename.:extension'
do_not_validate_attachment_file_type :file
end
這是我使用測試版本的程序。
template = Template.create
template.title = 'initial'
template.assets.create()
template.save
title1 = template.title #initial
count1 = template.assets.count #1
template.title = 'v2'
template.assets.create()
template.save
title2 = template.title #v2
count2 = template.assets.count #2
template_old = template.versions.last.reify(:has_many => true)
title3 = template_old.title #initial
count3 = template_old.assets.count #2, should be 1
template.title = 'v3'
template.assets.last.destroy()
template.save
title4 = template.title #v3
count4 = template.assets.count #1
template_old = template.versions.last.reify(:has_many => true)
title5 = template_old.title #v2
count5 = template_old.assets.count #1, should be 2
我跟蹤到了version_concern.rb reify_has_many_directly方法。但對我來說,它似乎總是從當前的現場版本恢復關係。
任何想法?