0

我在我的 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: undefined method `recreate_version!' 对于 ImagePathUploader:0x007fe7f62ba4e0

有人对如何做到这一点有建议吗?

谢谢!

4

1 回答 1

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
于 2013-08-09T15:27:19.357 回答