我正在尝试使用method recreate_versions!
,但我正在使用wiki中的方法来创建唯一的文件名。问题是,当我运行recreate_versions!
时,它会更改文件名,但不会在已安装的对象本身上更新它们。我怎么能刷新这些URL?
答案 0 :(得分:11)
在处理缓存时有效的解决方案是在重新创建版本后保存已挂载的对象:
示例:
avatar.image.recreate_versions!
avatar.save!
这样,即使重新创建版本并正确处理缓存,也可以继续使用唯一的文件名。
答案 1 :(得分:3)
这对我有用。它使用文件名(如果已存在)。所以当你重新创建_versions时它们不会改变!
def filename
if original_filename
if model && model.read_attribute(:avatar).present? #or whatever you call your column
model.read_attribute(:avatar)
else
# create new filename however you're doing it
end
end
end