我正在使用carrierwave 和rmagick 来处理我的图片上传。我现在向 image_uploader.eb 添加了一个新版本(smallthumb):
class ImageUploader < CarrierWave::Uploader::Base
include CarrierWave::RMagick
storage :file
def store_dir
"uploads/images"
end
version :thumb do
process :resize_to_fill => [250, 250]
end
version :smallthumb do
process :resize_to_fill => [70, 70]
end
def extension_white_list
%w(jpg jpeg gif png)
end
end
我有一个名为“image”的模型,安装了图像上传器:
class Image < ActiveRecord::Base
attr_accessible :date, :description, :name, :size, :image, :article_ids
has_and_belongs_to_many :articles
mount_uploader :image, ImageUploader
end
我读过我需要调用 recreate_versions!,但我不明白我需要在哪里调用这个操作以及如何调用。我在公共(public)/上传/图像中的实时服务器上有我的图像。如何重新创建所有这些图像的版本(在我的开发机器和实时服务器上),以便我也拥有该图像的 smallthumb 版本?
最佳答案
Image.all.each { |i| i.image.recreate_versions! }
关于ruby-on-rails - Carrierwave 重新创建版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21233836/