防止Paperclip在更新时删除/覆盖附件

sim*_*nwh 19 ruby-on-rails paperclip ruby-on-rails-3

我很难弄清楚如何防止Paperclip删除旧版本的附件(图像).

我有一个模型,网站,有一个附件,标志.我想保留旧徽标,因为我将跟踪模型的更改并希望查看徽标的历史记录.

我正在跟踪另一个模型中的更改,该模型具有对文件路径的引用.我的问题是,在使用新徽标更新网站时,Paperclip会先刷新旧徽标.

令我惊讶的是,在创建新附件之前,没有可以切换到防止Paperclip冲洗旧附件的选项.

有任何想法吗?

Wil*_*ler 33

有一个新选项告诉paperclip保留旧附件:

https://github.com/thoughtbot/paperclip/commit/65e8d4f6de50732d8e1b https://github.com/thoughtbot/paperclip/issues/60

使用简单:

has_attached_file => :attachment,
                     :styles => { :thumb => 100x100! },
                     :preserve_files => true
Run Code Online (Sandbox Code Playgroud)

它尚未记录,并进行了一些挖掘,所以我想在这里分享.

  • 截至今天,对于最新的回形针API,似乎已弃用`preserve_files`:http://rubydoc.info/gems/paperclip/Paperclip/ClassMethods:has_attached_file请参阅`keep_old_files`:保持现有的附件文件(原始+调整大小)不被清除或更新附件时自动删除.默认为false. (5认同)