我知道您可以将新样式添加到回形针,然后使用过程!方法强制回形针填写缺少的样式。但是如果你想抛弃那些你不再使用的旧款式呢。如何删除回形针中的现有样式尺寸
例如,我有iphone和ipad的样式,我改变了主意,反而喜欢:large和:medium与略有不同的尺寸,而不是:iphone和:ipad。
特别是我在s3上托管我的图像,因为我的应用程序在heroku上。我想删除所有有关:iphone和:ipad风格的文件夹。是否有删除选择样式的耙子任务?
我知道您可以将新样式添加到回形针,然后使用过程!方法强制回形针填写缺少的样式。但是如果你想抛弃那些你不再使用的旧款式呢。如何删除回形针中的现有样式尺寸
例如,我有iphone和ipad的样式,我改变了主意,反而喜欢:large和:medium与略有不同的尺寸,而不是:iphone和:ipad。
特别是我在s3上托管我的图像,因为我的应用程序在heroku上。我想删除所有有关:iphone和:ipad风格的文件夹。是否有删除选择样式的耙子任务?
如果你指的是去除无效的文件,请尝试:
rake paperclip:clean # Cleans out invalid attachments.
可以通过键入查看控制台所有回形针任务:
rake -T paperclip
'clean'任务还需要指定一个类。 –
运行在终端
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.
“干净”任务还需要指定一个类。 –
是否可以执行此功能的单个上传和直接从应用程序?谢谢! – Gediminas
你将不得不编写一个脚本来做到这一点,但回形针确实有s3_object
方便的方法,使这个简单的:
obj = User.first.avatar.s3_object(:unwanted_style)
obj.delete if obj.exists?
你可以在循环内放置类似的东西用于任何想要操作的对象。
来源:
可以使用Attachment#clear
方法。
如果你想删除thumb
和display
风格,你可以运行类似:
YourModel.find_each do |ym|
ym.attachment.clear(:display, :thumb)
ym.save!
end
那岂不是更容易只是使用S3 GUI工具? – varatis
无法用回形针做到这一点,只能重新生成/刷新新的或现有的样式。你应该能够脚本使用aws-s3的宝石http://amazon.rubyforge.org – iouri
我会一整天用gui工具。有300个帖子与图像。我希望像post.image(:ipad).delete这样会反过来从s3中删除文件的方法。 – Homan