如何去除回形针现有的样式尺寸(how to remove existing style dimens

2019-09-23 09:29发布

我知道你可以添加新的样式,回形针,然后使用过程! 方法强制回形针填充缺少的款式。 但是,如果你想抛弃你不使用任何更旧的样式。

比如我有风格的iPhone和iPad,我改变了主意,反而会想:大和:媒体与尺寸略有不同,而不是:iPhone和:ipad公司。

特别是我在S3上托管我的图像,因为我的应用程序是在Heroku。 我想删除所有对S3属于该文件夹:iphone和:ipad的风格。 有没有去除选择风格耙子任务吗?

Answer 1:

如果你指的是去除无效的文件,请尝试:

rake paperclip:clean  # Cleans out invalid attachments.

您可以通过键入查看控制台所有回形针任务:

rake -T paperclip


Answer 2:

运行在终端

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.


Answer 3:

您可以使用Attachment#clear方法。

如果你想删除的thumbdisplay风格,你可以运行类似:

YourModel.find_each do |ym|
  ym.attachment.clear(:display, :thumb)
  ym.save!
end


Answer 4:

你将不得不编写一个脚本来做到这一点,但回形针确实有s3_object方便的方法,使这个简单的:

obj = User.first.avatar.s3_object(:unwanted_style)
obj.delete if obj.exists?

你可以把这样的事情你要操作上的任何对象在一个循环中。

资料来源:

  • Paperclip::Storage::S3文件
  • AWS-SDK对象文件建立


文章来源: how to remove existing style dimensions in paperclip