我知道你可以为回形针添加新样式,然后使用过程!强制回形针填充缺失样式的方法。但是,如果您想放弃不再使用的旧样式怎么办。
例如,我有 iphone 和 ipad 的样式,但我改变了主意,而是想要尺寸略有不同的 :large 和 :medium ,而不是 :iphone 和 :ipad。
特别是我在 s3 上托管我的图像,因为我的应用程序在 heroku 上。我想删除 s3 上与 :iphone 和 :ipad 样式有关的所有文件夹。是否有删除选择样式的 rake 任务?
我知道你可以为回形针添加新样式,然后使用过程!强制回形针填充缺失样式的方法。但是,如果您想放弃不再使用的旧样式怎么办。
例如,我有 iphone 和 ipad 的样式,但我改变了主意,而是想要尺寸略有不同的 :large 和 :medium ,而不是 :iphone 和 :ipad。
特别是我在 s3 上托管我的图像,因为我的应用程序在 heroku 上。我想删除 s3 上与 :iphone 和 :ipad 样式有关的所有文件夹。是否有删除选择样式的 rake 任务?
在您的终端中运行
rake -T paperclip
你可以看到这样
...
rake paperclip:clean # Cleans out invalid attachments.
rake paperclip:refresh # Refreshes both metadata and thumbnails.
rake paperclip:refresh:metadata # Regenerates content_type/size metadata for a given CLASS (and optional ATTACHMENT).
rake paperclip:refresh:missing_styles # Regenerates missing thumbnail styles for all classes using Paperclip.
rake paperclip:refresh:thumbnails # Regenerates thumbnails for a given CLASS (and optional ATTACHMENT and STYLES splitted by comma).
...
刷新缩略图试试这个
rake paperclip:refresh:thumbnails class= Xyz # xyz replace with your class name
用于去除
rake paperclip:clean # Cleans out invalid attachments.
如果您指的是删除无效文件,请尝试:
rake paperclip:clean # Cleans out invalid attachments.
您可以通过键入以下命令在控制台中查看所有回形针任务:
rake -T paperclip
您可以使用该Attachment#clear
方法。
如果你想删除thumb
anddisplay
样式,你可以运行类似:
YourModel.find_each do |ym|
ym.attachment.clear(:display, :thumb)
ym.save!
end
您将不得不编写一个脚本来完成此操作,但回形针确实有一个s3_object
方便的方法可以让这变得简单:
obj = User.first.avatar.s3_object(:unwanted_style)
obj.delete if obj.exists?
您可以将这样的东西放在一个循环中,用于您想要操作的任何对象。
资料来源: