我在我的Rails应用程序中使用CarrierWave和ImageMagick。我想运行一个脚本来生成所有现有图像的新图像版本。最好的方法是什么?我之前没有为我的Rails应用程序编写脚本。
我在uploader.rb文件中创建了一个版本:
version :square_thumb do
process :resize_to_fill => [105, 105]
end
在我的rails控制台中,我尝试创建新版本,执行以下操作:
Image.all.each do |image|
image.recreate_version!(:square_thumb)
end
但我收到错误: NoMethodError:未定义的方法`recreate_version!'对于ImagePathUploader:0x007fe7f62ba4e0
有没有人有关于如何做到这一点的建议?
谢谢!
答案 0 :(得分:0)
为了解决这个问题,我在image_path_uploader.rb文件中创建了一个方法:
def add_square_thumb
recreate_versions!(:square_thumb)
end
从控制台,我可以做
Image.all.each do |image|
image.image_path.add_square_thumb
end