gpt4 book ai didi

ruby-on-rails - CarrierWave - 仅删除版本,而非原始版本

转载 作者:行者123 更新时间:2023-12-04 06:22:44 25 4
gpt4 key购买 nike

是否可以只删除版本并保留原始文件?

上传图像会创建原始文件和 :product_thumb 版本(Works)。

class ImageUploader < CarrierWave::Uploader::Base

include CarrierWave::MiniMagick
storage :fog # Amazon S3

version :product_thumb, if: :create_thumb? do
process :resize_to_fit => [15, 15]
end

protected


def create_thumb?
model.make_thumbnail
end

end

当我运行时:

prod = Product.first
prod.remove_image!
prod.save

原始和 :product_thumb 都被删除。但我只想删除版本:product_thumb。我查看了 API,但没有发现任何有用的信息。

我一直在努力让它在控制台中运行。

prod.remove_product_thumb_image!   --> # NoMethodError: undefined method
prod.remove_image(:product_thumb) --> # ArgumentError: wrong number of arguments (1for0)

# one idea was to get the file path of the version and delete it manually
prod.image.url(:product_thumb) --> # path/to/file/product_thumb_test.png

有没有办法通过CarrierWave删除版本?

最佳答案

要删除所有版本,请使用:

prod.image.remove_versions!

要删除特定版本,请使用:

prod.image.versions[:product_thumb].remove!

关于ruby-on-rails - CarrierWave - 仅删除版本,而非原始版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23747551/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com