如何使用回形针更新附件

时间:2015-09-15 06:05:21

标签: ruby-on-rails ruby amazon-s3 paperclip paperclip-validation

我用paperclip将图像上传到S3,

has_attached_file :attachment,
                      styles: { mini: '48x48>', small: '100x100>', product: '240x240>', large: '600x600>',larger: '860x1280>' },
                      default_style: :product
validates_attachment :attachment,
      :presence => true,
      :content_type => { :content_type => %w(image/jpeg image/jpg image/png image/gif) }

现在,我想使用gem“paperclip-compression”压缩已经上传到S3的图像,所以我添加了processors: [:thumbnail, :compression],如何使用ruby脚本更新所有附件?我能够读取图像并将其存储到文件中,但无法使用该文件更新附件。

1 个答案:

答案 0 :(得分:1)

根据回形针wiki,您应该使用reprocess!方法:

Model.each do |model|
  model.attachment.reprocess!
end

另一种选择是使用rake任务:

# only thumbnails style
rake paperclip:refresh:thumbnails CLASS=Model

# or all styles
rake paperclip:refresh CLASS=Model

# only missing styles
rake paperclip:refresh:missing_styles