我使用回形针作为模型上的附件。我最近在附件中添加了一个指纹,它可以很好地处理新的附件,但它没有添加到旧的附件中,因为我无法重新处理附件以添加新样式,因为paperclip试图找到带指纹的附件而非所有附件都有一个附件。
有没有办法将指纹添加到旧附件?
这是我从旧附件的重新处理中得到的错误:
Errno::ENOENT: No such file or directory - /tmp/paperclip-reprocess20140422-1036-nl9gxk
答案 0 :(得分:1)
[编辑] 你试过吗?
$ rake paperclip:refresh class=Model_Name_Goes_Here
[/编辑]
如果没有太多图像。最简单的方法,我能想到的是:
Dir.foreach('/path/to/dir/that/contains/old/images') do |item|
next if item == '.' or item == '..'
file = File.join(File.expand_path(File.dirname(__FILE__)), item)
thing.image = file
thing.save
end
您可以使用runner:
运行此脚本$ rails runner /path/to/script
这样的事情对你有用吗?
答案 1 :(得分:0)
手动尝试并多次检查错误后,我发现问题不在于附件没有指纹。问题是指纹是零。由于某种原因,paperclip不处理这种情况。
我通过数据库手动为每个对象提供一个空字符串作为指纹(这使我免于重命名磁盘上的文件),然后重新处理每个主题。
解决了它!