命令lind在Carrierwave中重新创建版本?

时间:2015-12-06 19:47:39

标签: ruby-on-rails ruby-on-rails-4 carrierwave

如果我在carrierwave中添加新版本,如果我已有现有图像,重新创建图像的命令行是什么?

如果我使用Heroku,它对localhost和生产有什么用?

谢谢!

1 个答案:

答案 0 :(得分:0)

好像你想要调整现有图像的大小。

您必须将新版本添加到图片上传器(以200 * 200 thumb为例)

version :thumb do
  process :resize_to_fill => [200,200]
end

然后在控制台中重新创建它们(以avatar模型中的User为例):

User.all.each do |user|
  user.avatar.recreate_versions!
end

<强>更新 如果要使用自定义rake任务,可以创建文件lib/tasks/resize_image.rake并将以下代码放在此文件中:

namespace :resize_image do
  desc "RESIZE"
  task :recreate => :environment do
    User.all.each do |user|
      user.avatar.recreate_versions!
    end
  end
end

在你的控制台中使用:

rake resize_image:recreate