回形针上的Paperclip AWS :: S3 :: Errors :: NoSuchKey错误

我正在尝试将不同模型的头像复制到我的User模型中,但是当我尝试这样做时,我收到了AWS::S3::Errors::NoSuchKey错误。

这是抛出错误的代码:

 old_avatar = OldAvatar.find(1) user = User.find(old_avatar.user_id) user.avatar = old_avatar.avatar user.save 

user.avatar = old_avatar.avatar行是抛出它的原因。

这是我的OldAvatar模型……

 has_attached_file :avatar, :styles => { :t => '20x20#', :s => '40x40#', :m => '50x50#', :b => '80x80#', :f => '100x100#' }, :storage => :s3, :s3_credentials => { :access_key_id => APP_CONFIG['s3_access_key_id'], :secret_access_key => APP_CONFIG['s3_secret_access_key'] }, :path => ":attachment/:id/:basename:normalized_style.:extension", :url => "/:attachment/:id/:basename:normalized_style.:extension", :bucket => "old_bucket" 

这是我的User模型……

 has_attached_file :avatar, :styles => { :t => '20x20#', :s => '40x40#', :m => '50x50#', :b => '80x80#', :f => '100x100#' }, :storage => :s3, :s3_credentials => { :access_key_id => APP_CONFIG['s3_access_key_id'], :secret_access_key => APP_CONFIG['s3_secret_access_key'] }, :bucket => "new_bucket", :path => ":attachment/:id_partition/:basename_:style.:extension", :url => "/:attachment/:id_partition/:basename_:style.:extension" 

请注意,我正在两个不同的桶之间复制(如不同的型号代码中所述),所以这可能与它有关吗?

事实certificate我的某些早期图像有一些不一致的路径,因此它们与我为Paperclip设置的路径不匹配(因此生成了错误的图像URL)。

所以问题解决了。

我遇到了这个问题,因为使用了一个错误的大小标识符:regular而不是:normal 。 由于没有:regular ,它给了我这个错误。