我曾经有一个有缺陷的Paperclip配置:
class Photo < ActiveRecord::Base
has_attached_file :image, :storage => :s3,
:styles => { :medium => "600x600>", :small => "320x320>", :thumb => "100x100#" },
:s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
:path => "/:style/:filename"
end
这是有缺陷的,因为两个图像不能具有相同的大小和文件名。为了解决这个问题,我将配置更改为:
class Photo < ActiveRecord::Base
has_attached_file :image, :storage => :s3,
:styles => { :medium => "600x600>", :small => "320x320>", :thumb => "100x100#" },
:s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
:path => "/:style/:id_:filename"
end
不幸的是,这将导致我已经创建的所有附件URL失效。 我该如何更新这些文件路径或以其他方式使URL正常工作?
:path => "/:style/:id_:filename"
,因此Paperclip会在"a/123_b.png"寻找附件以进行重新处理,结果我得到了一个AWS::S3::NoSuchKey
错误。 - Tom Lehmanreprocess!
取决于模型中路径的定义方式。原问题明确要求重新定义路径。 - Preacher