如何删除回形针中的现有样式尺寸
我知道你可以为纸夹添加新的样式然后使用过程! 强制回形针填写缺失样式的方法。 但是,如果你想放弃你不再使用的旧款式,该怎么办呢?
例如,我有iphone和ipad的样式,我改变了主意,反而喜欢:大和中等,尺寸略有不同而不是:iphone和:ipad。
特别是我在s3上托管我的图像,因为我的应用程序是在heroku上。 我想删除s3上与iphone和:ipad样式有关的所有文件夹。 是否有删除选择样式的rake任务?
如果您要删除无效文件,请尝试:
rake paperclip:clean # Cleans out invalid attachments.
您可以通过键入以下内容来查看控制台中的所有回形针任务:
rake -T paperclip
在你的终端运行
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.
您将不得不编写一个脚本来完成此任务,但是s3_object
确实有一个s3_object
便捷方法,可以s3_object
:
obj = User.first.avatar.s3_object(:unwanted_style) obj.delete if obj.exists?
你可以在一个循环中放置你想要操作的任何对象。
资料来源:
-
Paperclip::Storage::S3
文档 - aws-sdk对象文档
您可以使用Attachment#clear
方法。
如果你想删除thumb
和display
样式,你可以运行如下:
YourModel.find_each do |ym| ym.attachment.clear(:display, :thumb) ym.save! end